zoukankan      html  css  js  c++  java
  • 图形界面系列教材 (八)- 如何在Swing中使用菜单JMenu

    GUI的菜单分为 菜单栏,菜单和菜单项

    步骤1:菜单栏和菜单
    步骤2:菜单项
    步骤3:练习-完成一个完整的记事本界面
    步骤4:答案-完成一个完整的记事本界面

    步骤 1 : 菜单栏和菜单

    菜单栏和菜单

    菜单栏和菜单

    package gui;

    import javax.swing.JFrame;

    import javax.swing.JMenu;

    import javax.swing.JMenuBar;

    public class TestGUI {

        public static void main(String[] args) {

            JFrame f = new JFrame("LoL");

            f.setSize(400300);

            f.setLocation(200200);

            // 菜单栏

            JMenuBar mb = new JMenuBar();

            // 菜单

            JMenu mHero = new JMenu("英雄");

            JMenu mItem = new JMenu("道具");

            JMenu mWord = new JMenu("符文");

            JMenu mSummon = new JMenu("召唤师");

            JMenu mTalent = new JMenu("天赋树");

            // 把菜单加入到菜单栏

            mb.add(mHero);

            mb.add(mItem);

            mb.add(mWord);

            mb.add(mSummon);

            mb.add(mTalent);

            // 把菜单栏加入到frame,这里用的是set而非add

            f.setJMenuBar(mb);

            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            f.setVisible(true);

        }

    }

    步骤 2 : 菜单项

    菜单项

    菜单项

    package gui;

    import javax.swing.JFrame;

    import javax.swing.JMenu;

    import javax.swing.JMenuBar;

    import javax.swing.JMenuItem;

    public class TestGUI {

        public static void main(String[] args) {

            JFrame f = new JFrame("LoL");

            f.setSize(400400);

            f.setLocation(200200);

            JMenuBar mb = new JMenuBar();

            JMenu mHero = new JMenu("英雄");

            JMenu mItem = new JMenu("道具");

            JMenu mWord = new JMenu("符文");

            JMenu mSummon = new JMenu("召唤师");

            JMenu mTalent = new JMenu("天赋树");

            // 菜单项

            mHero.add(new JMenuItem("近战-Warriar"));

            mHero.add(new JMenuItem("远程-Range"));

            mHero.add(new JMenuItem("物理-physical"));

            mHero.add(new JMenuItem("坦克-Tank"));

            mHero.add(new JMenuItem("法系-Mage"));

            mHero.add(new JMenuItem("辅助-Support"));

            mHero.add(new JMenuItem("打野-Jungle"));

            mHero.add(new JMenuItem("突进-Charge"));

            mHero.add(new JMenuItem("男性-Boy"));

            mHero.add(new JMenuItem("女性-Girl"));

            // 分隔符 

            mHero.addSeparator();

            mHero.add(new JMenuItem("所有-All"));

            mb.add(mHero);

            mb.add(mItem);

            mb.add(mWord);

            mb.add(mSummon);

            mb.add(mTalent);

            f.setJMenuBar(mb);

            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            f.setVisible(true);

        }

    }


    更多内容,点击了解: https://how2j.cn/k/gui/gui-menu/408.html

  • 相关阅读:
    04_数字信号滤波Matlab代码_常见操作
    03_FIR滤波器的设计
    CH340 USB to TTL connect to STM32F207 TTL UART
    linux内核中如果内存越界破坏了semphore同样会导致RCU STALL
    Build自己的kernel header
    事实证明,PHY Identify在外部电路异常情况下也是会发生变化的。
    vim配置参考
    技术经典图书(附电子版下载地址)
    转:linux内核源代码分析方法
    定期保存2017-04-19
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615449.html
Copyright © 2011-2022 走看看