我正在尝试将简短的JComboBox转换为JRadioButton组。定义单选按钮时,它告诉我它不喜欢我的setMnemonic语法。
我的代码:
public JRadioButton mailRadio = new JRadioButton("Mail");
mailRadio.setMnemonic(KeyEvent.VK_M);
它将以intellisense(或任何称为Java的版本)显示setMnemonic(int),但是,一旦我接受,便会在语法语法下划线突出显示mailRadio.setMnemonic。将鼠标悬停在其上将出现错误“找不到类型的mailRadio.setMnemonic”。编译给出错误“无效的方法声明;需要返回类型”。
据我所知,我没有尝试做这两种事情。我已经很长时间没有使用Java了,我非常生锈。我不知道我在做什么错。
我有三个这样的JRadioButton,它只会在第一个显示错误,直到我注释或删除它,然后错误才移至下一个。
我正在使用JDeveloper 10.1.3.5,Java 1.5.0_06。不幸的是,目前都不可以升级。
最佳答案
看到您使用public
声明了变量,我假设代码片段位于类声明中。
您不能在类声明中使用语句(并且setMnemonic
之类的方法调用是语句)。您应该在构造函数中调用此方法:
public class XXX {
public JRadioButton mailRadio = new JRadioButton("Mail");
public XXX() {
mailRadio.setMnemonic(KeyEvent.VK_M);
}
}
看起来更像您最初尝试执行的操作的替代方法是初始化程序块:
public class XXX {
public JRadioButton mailRadio = new JRadioButton("Mail");
{
mailRadio.setMnemonic(KeyEvent.VK_M);
}
}
但这是不好的做法,我只是出于完整性的目的而提及它。
更多详细信息in the doc。