JRadioButton setMnemonic破解了Java 1.5

时间:2013-08-21 19:40:31

标签: java swing jradiobutton java-5

我正在尝试将简短的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。不幸的是,目前升级要么不是一种选择。

1 个答案:

答案 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