gpt4 book ai didi

java - 使用同一事件执行不同的操作

转载 作者:太空宇宙 更新时间:2023-11-04 06:57:29 25 4
gpt4 key购买 nike

我正在使用 Java 进行 GUI 培训。我使用JMenuBar

JMenuBar menuBar = new JMenuBar();

这里有JMenu

JMenu fileMenu = new JMenu("File");

栏中有两个JMenuItem

JMenuItem creditsItem = new JMenuItem("Credits");
JMenuItem preferenceItem = new JMenuItem("Option");

所以我将所有内容添加到栏和菜单中:

menuBar.add(fileMenu);
fileMenu.add(creditsItem);
fileMenu.add(preferenceItem);

然后我想根据单击的两个 ItemMenu 中的哪一个执行不同的操作,特别是我想打开两个不同的 JDialog

creditsItem.addMouseListener(this);
preferenceItem.addMouseListener(this);

实现MouseListener

class MainFrame extends JFrame implements MouseListener

我必须使用

@Override
public void mouseReleased(MouseEvent e) {
System.out.println("Clicked!!");
}

但问题是识别两个 JMenuItem 中的哪一个已被单击。我曾尝试使用 switch,但如何知道单击了两个中的哪一个是问题。

最佳答案

最好的办法是

@Override
public void mouseReleased(MouseEvent e) {

if(e.getSource()==preferenceItem){
System.out.println("PreferenceItem");
optionDialog = new OptionDialog();
}
if(e.getSource()==printItem){
System.out.println("PrintItem");
}

}

实现 MouseListener 而不是 MenuListener 后

关于java - 使用同一事件执行不同的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22533362/

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