deriveFont(float size)
方法仅使Font
变得简单而不改变其大小。
JButton prevButton = new JButton("Previous");
prevButton.setFont(prevButton.getFont().deriveFont(90));
如果像下面的示例中那样使用deriveFont(int样式,浮点大小),它将按预期工作。
JButton prevButton = new JButton("Previous");
prevButton.setFont(prevButton.getFont().deriveFont(Font.BOLD, 90));
有人可以解释这种行为吗?
答案 0 :(得分:3)
检查所有deriveFont
重载的变量参数。当您deriveFont(90)
时(有人可能会说有点含糊),您是在更改字体样式,而不是大小。该方法为deriveFont(int style)
,其中可接受的style
值为Font.BOLD
,Font.ITALIC
和Font.PLAIN
。
另一方面,此方法的另一个重载是deriveFont(float size)
。请注意float
。为了使这项工作有效,您应该{@ {1}}或deriveFont((float) 90)
,如@camickr在评论中指出的那样。将deriveFont(90f)
投射到int
可以清楚地表明您要更改大小。