1)定义类Example19继承自JFrame,用于创建一个下拉式菜单。 2)创建JMenuBar菜单栏对象,将其放置在JFrame窗口的顶部 3)创建JMenu菜单对象,将其添加到JMenuBar菜单栏中 4)创建JMenuItem菜单项,为菜单项添加事件监听器,当点击菜单项会弹出一个模态的JDialog窗口,将菜单项添加到JMenu菜单中。 5)为菜单对象添加一个分隔符。
时间: 2023-11-29 21:04:03 浏览: 106
一个简单的Java点餐系统,继承自JFrame类
代码实现如下:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Example19 extends JFrame {
public Example19() {
// 设置窗口标题
setTitle("下拉式菜单示例");
// 创建菜单栏
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 创建菜单
JMenu menu = new JMenu("菜单");
menuBar.add(menu);
// 创建菜单项
JMenuItem menuItem = new JMenuItem("点击弹出对话框");
menuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 创建对话框
JDialog dialog = new JDialog(Example19.this, "提示", true);
dialog.setLayout(new FlowLayout());
dialog.add(new JLabel("这是一个对话框"));
JButton button = new JButton("确定");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dialog.dispose();
}
});
dialog.add(button);
dialog.setSize(200, 100);
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
}
});
menu.add(menuItem);
// 添加分隔符
menu.addSeparator();
// 设置窗口大小和位置
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new Example19();
}
}
```
运行程序,即可看到一个带有下拉式菜单的窗口:
点击菜单项,会弹出一个模态的对话框:
阅读全文