12. 设计包含菜单的窗口,菜单栏有两个菜单“文件”和“编辑”,其中“文件”菜单包括如图四个菜单项:“打开”、“保存”、“新建”和“退出”。点击 “退出”可退出窗口。“编辑”菜单为空。Java程序
时间: 2023-10-01 15:03:19 浏览: 110
好的,我理解了您的问题。以下是Java程序的代码实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyMenu extends JFrame implements ActionListener {
private JMenuBar menuBar;
private JMenu fileMenu, editMenu;
private JMenuItem openItem, saveItem, newItem, exitItem;
public MyMenu() {
setTitle("菜单窗口");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
menuBar = new JMenuBar();
fileMenu = new JMenu("文件");
editMenu = new JMenu("编辑");
openItem = new JMenuItem("打开");
saveItem = new JMenuItem("保存");
newItem = new JMenuItem("新建");
exitItem = new JMenuItem("退出");
openItem.addActionListener(this);
saveItem.addActionListener(this);
newItem.addActionListener(this);
exitItem.addActionListener(this);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(newItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
menuBar.add(fileMenu);
menuBar.add(editMenu);
setJMenuBar(menuBar);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == exitItem) {
System.exit(0);
}
}
public static void main(String[] args) {
new MyMenu();
}
}
```
解释一下代码:
1. 我们创建了一个MyMenu类,继承自JFrame类,实现了ActionListener接口。
2. 在构造函数中,我们设置了窗口的标题、大小、关闭方式和位置。
3. 然后我们创建了一个JMenuBar对象menuBar,并创建了两个JMenu对象fileMenu和editMenu。
4. 我们创建了四个JMenuItem对象openItem、saveItem、newItem和exitItem,并将它们添加到了fileMenu中。其中,“打开”、“保存”、“新建”三个菜单项暂时没有添加任何动作。
5. 我们为exitItem添加了一个ActionListener,当用户点击“退出”菜单项时,程序将退出。
6. 最后,我们将fileMenu和editMenu添加到menuBar中,并将menuBar设置为窗口的菜单栏,最后将窗口设置为可见。
注意,我们需要实现ActionListener接口,并重写actionPerformed()方法,以响应菜单项的动作。在这个例子中,我们只为“退出”菜单项添加了动作,当用户点击它时,程序将退出。
阅读全文