我正在尝试将简短的JComboBox转换为JRadioButton组。在定义单选按钮时,它告诉我它不喜欢我的setMnemonic语法。
我的代码:
public JRadioButton mailRadio = new JRadioButton("Mail");
mailRadio.setMnemonic(KeyEvent.VK_M);
它将在intellisense中显示setMnemonic(int)(或者调用java版本的任何内容),但是一旦我接受了它,就会出现一个带有下划线的mailRadio.setMnemonic语法错误。将鼠标悬停在它上面会出现错误“找不到类型mailRadio.setMnemonic”。编译时会出现错误“无效的方法声明;需要返回类型。”
据我所知,我试图不做这两件事。我很长一段时间没用过Java,而且我很生疏。我不知道我做错了什么。
我有三个这样的JRadioButton,只会在第一个上显示错误,直到我发表评论或删除,然后错误向下移动到下一个。
我正在使用JDeveloper 10.1.3.5,Java 1.5.0_06。不幸的是,目前升级要么不是一种选择。
答案 0 :(得分:3)
看到您使用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。