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));
有人可以解释这种行为吗?
最佳答案
检查所有deriveFont
重载的变量参数。当您deriveFont(90)
时(有人可能会说这有点含糊),您正在更改字体的样式,而不是大小。方法为deriveFont(int style)
,其中可接受的style
值为Font.BOLD
,Font.ITALIC
和Font.PLAIN
。
另一方面,此方法的另一个重载是deriveFont(float size)
。注意float
。为了使此工作有效,您应按@camickr在注释中指出的deriveFont((float) 90)
或deriveFont(90f)
。将int
强制转换为float
将使您清楚地知道要更改大小。