deriveFont(float size)
方法只是使Font
简单而不改变其大小。
JButton prevButton = new JButton("Previous");
prevButton.setFont(prevButton.getFont().deriveFont(90));
如果我像下面的示例一样使用deriveFont(int style, float size),它就会按预期工作。
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
将明确您想要更改大小。
关于java - 为什么deriveFont(float size)不改变JButton中的字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57433261/