Java GUI之JMenuBar

本文介绍了一个使用Java Swing实现的简单记事本程序示例,该程序包含菜单栏及多个菜单选项,如文件、编辑、格式和帮助等,并通过监听器实现了新建、退出和关于记事本等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class JMenuDemo extends JFrame {
   /**
    * 
    */
   JMenuBar bar;
   JMenu file;
   JMenu help;
   private static final long serialVersionUID = 1L;

   JMenuDemo() {
      setTitle("记事本");
      setPosition();
      setBounds(300, 200, 500, 300);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setVisible(true);
   }

   public void setPosition() {
      bar = new JMenuBar(); // 菜单栏
      // 一级菜单
      file = new JMenu("文件");
      JMenu edit = new JMenu("编辑");
      help = new JMenu("帮助");
      JMenu form = new JMenu("格式");
      // file之下的二级菜单
      JMenuItem newCreate = new JMenuItem("新建");
      JMenuItem open = new JMenuItem("打开");
      JMenuItem save = new JMenuItem("保存");
      JMenuItem saveAs = new JMenuItem("另存为");
      JMenuItem exit = new JMenuItem("退出");
      file.add(newCreate);
      file.add(open);
      file.add(save);
      file.add(saveAs);
      file.addSeparator();
      file.add(exit);
      // form之下的二级菜单
      JCheckBoxMenuItem binary = new JCheckBoxMenuItem("二进制");
      JMenuItem font = new JMenuItem("字体");
      form.add(binary);
      form.add(font);
      // help之下的二级菜单
      JMenuItem aboutNotepad = new JMenuItem("about notepad");
      help.add(aboutNotepad);
      // 监听事件,响应各个菜单的功能
      newCreate.addActionListener(new ActionListener() {

         @Override
         public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            // JFrame f=new JFrame();
            // f.setVisible(true);
            new JMenuDemo();
            JOptionPane.showMessageDialog(null, "新建一个窗口");
         }
      });
      exit.addActionListener(new ActionListener() {

         @Override
         public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            System.exit(0);
         }
      });
      aboutNotepad.addActionListener(new ActionListener() {

         @Override
         public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            JOptionPane.showMessageDialog(null, "这是一个记事本");

         }
      });
      // 将一级菜单添加到菜单栏
      bar.add(file);
      bar.add(edit);
      bar.add(form);
      bar.add(help);
      // setJMenuBar(bar); 设置菜单项 将菜单添加到JFrame窗口顶端,从左上端开始
      add(bar, "North");
      JTextArea area = new JTextArea("", 20, 20);
      add(area, "Center");
   }

   public static void main(String[] args) {
      new JMenuDemo();
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值