使用JFrame创建包含菜单的窗口
时间: 2024-01-08 08:04:24 浏览: 67
有菜单功能的JFrame框架
可以按照以下步骤使用JFrame创建包含菜单的窗口:
1. 导入所需的类库:
```java
import javax.swing.*;
import java.awt.event.*;
```
2. 创建JFrame对象并设置窗口标题:
```java
JFrame frame = new JFrame("包含菜单的窗口");
```
3. 创建JMenuBar对象并添加JMenu对象及其JMenuItem子项:
```java
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("文件");
JMenuItem openItem = new JMenuItem("打开");
JMenuItem saveItem = new JMenuItem("保存");
JMenuItem exitItem = new JMenuItem("退出");
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
menuBar.add(fileMenu);
```
4. 将JMenuBar对象添加到JFrame对象中:
```java
frame.setJMenuBar(menuBar);
```
5. 为JMenuItem子项添加事件处理程序:
```java
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 打开文件操作
}
});
saveItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 保存文件操作
}
});
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
```
6. 设置JFrame对象的大小、位置及可见性:
```java
frame.setSize(400, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
```
完整代码示例:
```java
import javax.swing.*;
import java.awt.event.*;
public class MenuFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("包含菜单的窗口");
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("文件");
JMenuItem openItem = new JMenuItem("打开");
JMenuItem saveItem = new JMenuItem("保存");
JMenuItem exitItem = new JMenuItem("退出");
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
menuBar.add(fileMenu);
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 打开文件操作
}
});
saveItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 保存文件操作
}
});
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
frame.setJMenuBar(menuBar);
frame.setSize(400, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
```
阅读全文