gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:02:10 24 4
gpt4 key购买 nike

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

我在包 View 中的 MainUI 类中创建了菜单:

此外,我忘记提及创建菜单的代码位于名为 showContainers 的方法中

        // Create the game menu
menuGame = new JMenu( "Game" );
menuGame.setMnemonic( 'G' );
menuBar.add( menuGame );
// Create the game menu
// Build a game menu items
//...Create 3x3 Game
menuGame3 = CreateMenuItem( menuGame, ITEM_RADIO,
"Create 3x3 Game", null, '3', null );
//...Create 4x4 Game
menuGame4 = CreateMenuItem( menuGame, ITEM_RADIO,
"Create 4x4 Game", null, '4', null );
//...Create 5x5 Game
menuGame5 = CreateMenuItem( menuGame, ITEM_RADIO,
"Create 5x5 Game", null, '5', null );
//...Create 6x6 Game
menuGame6 = CreateMenuItem( menuGame, ITEM_RADIO,
"Create 6x6 Game", null, '6', null );
//...Create 7x7 Game
menuGame7 = CreateMenuItem( menuGame, ITEM_RADIO,
"Create 7x7 Game", null, '7', null );
//...Create 8x8 Game
menuGame8 = CreateMenuItem( menuGame, ITEM_RADIO,
"Create 8x8 Game", null, '8', null );
//...Create 9x9 Game
menuGame9 = CreateMenuItem( menuGame, ITEM_RADIO,
"Create 9x9 Game", null, '9', null );
ButtonGroup group = new ButtonGroup();
group.add(menuGame3);
group.add(menuGame4);
group.add(menuGame5);
group.add(menuGame6);
group.add(menuGame7);
group.add(menuGame8);
group.add(menuGame9);

public void addCreateGame3Listener(ActionListener createGameListener){
menuGame3.addActionListener(createGameListener);
}

public void addCreateGame4Listener(ActionListener createGameListener){
menuGame4.addActionListener(createGameListener);
}

public void addCreateGame5Listener(ActionListener createGameListener){
menuGame5.addActionListener(createGameListener);
}

public void addCreateGame6Listener(ActionListener createGameListener){
menuGame6.addActionListener(createGameListener);
}

public void addCreateGame7Listener(ActionListener createGameListener){
menuGame7.addActionListener(createGameListener);
}

public void addCreateGame8Listener(ActionListener createGameListener){
menuGame8.addActionListener(createGameListener);
}

public void addCreateGame9Listener(ActionListener createGameListener){
menuGame9.addActionListener(createGameListener);
}

这是 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 声明为公共(public)静态,因此我无法引用他。

最佳答案

查看 actionListeners 并看到这个 tutorial

关于java - 如何停用特定菜单项的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com