java对菜单项的监听_java – JFrame Action侦听所有菜单项的侦听器...
时间: 2024-02-21 18:58:47 浏览: 27
在Java中,可以通过为菜单项添加ActionListener来监听菜单项的事件。以下是一个示例代码,可以监听JFrame中所有菜单项的事件:
```
public class MenuListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
//处理菜单项事件
}
}
public class MyFrame extends JFrame {
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenu editMenu;
public MyFrame() {
//创建菜单栏
menuBar = new JMenuBar();
//创建文件菜单
fileMenu = new JMenu("File");
JMenuItem newItem = new JMenuItem("New");
JMenuItem openItem = new JMenuItem("Open");
JMenuItem saveItem = new JMenuItem("Save");
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.add(saveItem);
//创建编辑菜单
editMenu = new JMenu("Edit");
JMenuItem cutItem = new JMenuItem("Cut");
JMenuItem copyItem = new JMenuItem("Copy");
JMenuItem pasteItem = new JMenuItem("Paste");
editMenu.add(cutItem);
editMenu.add(copyItem);
editMenu.add(pasteItem);
//将菜单加入菜单栏
menuBar.add(fileMenu);
menuBar.add(editMenu);
//为所有菜单项添加监听器
MenuListener listener = new MenuListener();
newItem.addActionListener(listener);
openItem.addActionListener(listener);
saveItem.addActionListener(listener);
cutItem.addActionListener(listener);
copyItem.addActionListener(listener);
pasteItem.addActionListener(listener);
//将菜单栏加入窗口
setJMenuBar(menuBar);
}
}
```
在上面的代码中,我们创建了一个MenuListener类,实现了ActionListener接口,并在其中实现了actionPerformed方法,用于处理菜单项事件。接着,在MyFrame类的构造方法中,我们为所有菜单项添加了同一个MenuListener监听器。这样,无论哪个菜单项被选中,都会触发MenuListener中的actionPerformed方法。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)