gpt4 book ai didi

java - 助记符适用于 MenuBar 但不适用于 MenuItems

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

我的程序有一个菜单栏,其中一个菜单称为"file"。文件菜单中有 4 个选项:“新建”、“暂停”、“取消暂停”和“退出”。所有五个都指定了助记符,但只有文件的助记符按照我希望的方式工作。

其他四个都有效,但只有当我首先激活文件助记符时它们才有效。即要激活“新建”,我需要按 Alt+FAlt+N。我不认为助记符应该这样工作,但我可能是错的。

这是我目前的代码,也许有人可以指出我做错了什么。

   //MENU BAR
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenuItem newGame;
private JMenuItem pauseGame;
private JMenuItem unpauseGame;
private JMenuItem exitGame;


//CREATE THE FILE MENU
public void buildMenuBar(){

//INITIAILIZE
menuBar = new JMenuBar();

//BUILD FILE MENU
buildFileMenu();

//ADD TO MENU BAR
menuBar.add(fileMenu);

//SET
setJMenuBar(menuBar);

}

public void buildFileMenu(){

//INITIALIZE
fileMenu = new JMenu("File");
newGame = new JMenuItem("New");
pauseGame = new JMenuItem("Pause");
unpauseGame = new JMenuItem("Unpause");
exitGame = new JMenuItem("Exit");

//MNEMONICS
fileMenu.setMnemonic(KeyEvent.VK_F);
newGame.setMnemonic(KeyEvent.VK_N);
pauseGame.setMnemonic(KeyEvent.VK_P);
unpauseGame.setMnemonic(KeyEvent.VK_U);
exitGame.setMnemonic(KeyEvent.VK_X);

//LISTENERS
newGame.addActionListener(new MenuListener());
exitGame.addActionListener(new MenuListener());

//ADD TO FILEMENU
fileMenu.add(newGame);
fileMenu.add(pauseGame);
fileMenu.add(unpauseGame);
fileMenu.add(exitGame);
}

最佳答案

所以我要回答我自己的问题。我了解到像我尝试使用的助记符仅在菜单处于 Activity 状态时才有效。这就是为什么他们适用于"file"选项,但不适用于“新游戏”选项,除非文件选项已打开。它工作正常,只是不是我理解的那样。

关于java - 助记符适用于 MenuBar 但不适用于 MenuItems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50049345/

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