问题描述
public class CheckBoxHandler implements ItemListener {
private int valBold = Font.PLAIN;
private int valItalic = Font.PLAIN;
public void itemStateChanged(ItemEvent e) {
if(e.getSource() == boldCheckBox)
valBold = boldCheckBox.isSelected() ? Font.BOLD : Font.PLAIN;
if(e.getSource() == italicCheckBox)
valItalic = italicCheckBox.isSelected() ? Font.ITALIC : Font.PLAIN;
textField.setFont(new Font("Serif",valBold + valItalic,14));
}
}//End inner class
我尝试将 Font.PLAIN 分配给一些其他数据类型而不是整数,我只被允许使用 double 和 float,我不明白为什么编译器会考虑字体数字类型。
解决方法
它不“考虑字体数字类型”。如果我写 int fruit = 7
编译器不会“将所有水果视为数字类型”。这根本不是编译器的工作方式。
Font.PLAIN
被定义为一个 int
,更准确地说是一个 public static final int PLAIN
。事实上,它的名字暗示了其他任何东西对编译器来说并不重要,也不应该如此。