Java 如何停用特定菜单项的方法?

Java 如何停用特定菜单项的方法?,java,swing,Java,Swing,我想以某种方式检查选择了哪个菜单项,以便某些菜单按钮以不同的方式绘制网格 我已在类MainUI中的package视图中创建了菜单: 另外,我忘了提到创建菜单的代码是在一个名为showContainers 这是GameUI中的painComponent,我在其中进行了修改: @Override public void paintComponent(Graphics g){ highLightCage =false ; super.paintComponent(g); //clea

我想以某种方式检查选择了哪个菜单项,以便某些菜单按钮以不同的方式绘制网格

我已在类MainUI中的package视图中创建了菜单:

另外,我忘了提到创建菜单的代码是在一个名为showContainers 这是GameUI中的painComponent,我在其中进行了修改:

@Override
public void paintComponent(Graphics g){

    highLightCage =false ;
    super.paintComponent(g); //clear the off-screen bitmap
    drawCells(g);
    drawCages(g);
            if( MainUI.menuGame3.isSelected()){
                    drawCageLabels(g);
            }
    drawLabels(g);
    drawGameHint(g);
}

问题是,我没有在MainUI类中将menuGame3声明为公共静态,因此我无法引用他。

查看actionListeners,并看到这一点。

如果代码不完整(CreateMenuItem做什么?),我不确定是否能提出一个好的解决方案。但是我假设您有一堆
JRadioButton
s,在这种情况下,您可以这样做:

if ( !menuGame8.isSelected() && !menuGame9.isSelected() ) {
   drawCageLabels();
}

我编辑了主要帖子,添加了你所问方法的代码,并详细说明了我在尝试使用该代码时遇到的错误,以便更快地获得更好的帮助,发布一个.This:
非静态变量menuGame8不能从静态上下文引用非静态变量menuGame9不能从静态上下文引用
表示您试图以静态方式使用实例变量或方法,可能在这里:
MainUI.menuGame8.isSelected()
。解决方案:不要这样做。在这里使用对实际实例的引用,而不是类名。我尝试了很多方法,但似乎无法使其工作。。。而且我也不知道你所说的“在这里使用实际实例的引用”是什么意思。交叉帖子:我已经阅读了该教程,但我的代码无法做到:(
if ( !menuGame8.isSelected() && !menuGame9.isSelected() ) {
   drawCageLabels();
}