This question already has answers here:
How to change the size of the font of a JLabel to take the maximum size

(6个答案)


7年前关闭。




我试图更改JLabel的字体大小,我尝试设置Font,但始终相同!

这是一些代码:
 @Override
 public void paint(Graphics g) {
 super.paint(g);
 Container cont=this.getContentPane();
 intro=new JLabel("משחק זיכרון");
 intro.setForeground(Color.YELLOW);
 intro.setFont(intro.getFont().deriveFont(64.0f));
 intro.setHorizontalAlignment( SwingConstants.CENTER );
 cont.add(intro);
     }

最佳答案

您正在调用错误的deriveFont方法。
deriveFont(int)中的参数是样式(粗体,斜体等)。您正在寻找的方法是deriveFont(float)

在您的情况下,您唯一需要做的更改就是intro.setFont(intro.getFont().deriveFont(64.0f));

这是一个简短的代码示例,它确实显示了字体大小为64的标签:

JFrame frame = new JFrame ("Test");
JLabel label = new JLabel ("Font Test");
label.setFont (label.getFont ().deriveFont (64.0f));
frame.getContentPane ().add (label);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.pack ();
frame.setVisible (true);

07-26 03:26