내 레이아웃에 맞게 사용자 지정 글꼴 크기를 조정하고 싶습니다. 그러나 슬프게도 font.deriveFont(128.0f);
전혀 효과가 없습니다. 나는 이미 내가 찾은 몇 가지 힌트를 시도했지만 아직 도움이되지 않았습니다.
System.out.println(font)
같음 의 출력java.awt.Font[family=Arial,name=Arial,style=plain,size=1]
package main;
import java.awt.Font;
import java.awt.FontFormatException;
import java.io.IOException;
import java.io.InputStream;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.EmptyBorder;
public class FontTest {
public static void main(String[] args){
String fName = "fonts/arial.ttf";
InputStream is = FontTest.class.getResourceAsStream(fName);
Font font = null;
try {
font = Font.createFont(Font.TRUETYPE_FONT, is);
font.deriveFont(128.0f);
} catch (FontFormatException | IOException e) {
e.printStackTrace();
}
JFrame frame = new JFrame();
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
EmptyBorder padding_h1 = new EmptyBorder(10, 10, 10, 10);
System.out.println(font);
JLabel text = new JLabel("Hallo Welt!");
text.setFont(font);
text.setBorder(padding_h1);
frame.add(text);
frame.setVisible(true);
}
}
font.deriveFont
변경되지 않습니다 font
. 오히려 그것은 :
Font
현재 Font 개체 를 복제하고 새 크기를 적용 하여 새 개체 를 만듭니다 .
새로 생성 된 Font
객체가 반환됩니다.
따라서 다음과 같이 호출하십시오.
font.deriveFont(128.0f);
Font
반환 값을 전혀 사용하지 않으므로 새 개체 를 만들고 즉시 버립니다.
deriveFont
새 글꼴이 필요한 위치로 통화를 이동할 수 있습니다 .
text.setFont(font.deriveFont(128.0f));
또는 font
재 할당하여 실제로 변경 하십시오.
font = font.deriveFont(128.0f);
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras