知识:
JMenuBar:
是一个水平的菜单栏,它可以放在任何的位置,一般是放在顶部的
JMenu:
表示的是一个菜单,它用来管理菜单项,一般使用构造函数(String text)创建菜单,text表示的是里面的文本内容
JMenuItem:
是菜单项,是最基本的组件,也是可以在new 的时候设置里面的内容
怎么让他们相互之间关联起来呢?
JMenuBar里面放(add)JMenu, JMenu里面放(add)JMenuItem。
代码:
import javax.swing.*;
public class Main {
public static void creat() {
JFrame f = new JFrame("下拉框的简单应用");
f.setSize(400, 400);
f.setLocation(300, 200);
f.setVisible(true);
f.setDefaultCloseOperation(3);
//创建菜单栏组件
JMenuBar menuBar = new JMenuBar();
//创建菜单组件
JMenu menu1 = new JMenu("文件(F)");
JMenu menu2 = new JMenu("帮助(H)");
menuBar.add(menu1);
menuBar.add(menu2);
//创建菜单项组件
JMenuItem it1 = new JMenuItem("新建(N)");
JMenuItem it2 = new JMenuItem("退出(X)");
menu1.add(it1);
menu1.add(it2);
//事件的监听
it1.addActionListener(e-> {
//新建一个JDialog弹窗
JDialog dialog = new JDialog(f, "无标题", true);
dialog.setSize(200, 200);
dialog.setLocation(300, 300);
dialog.setVisible(true);
dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
});
it2.addActionListener(e->{
System.exit(0);//正常退出
});
f.setJMenuBar(menuBar);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(Main::creat);
}
}