菜单条JMenuBar、菜单JMenu、菜单项JMenuItem

新建WindowMenu类

package com.lion.string;

import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

/**
 * @Author SunLionAhh
 * @Date 2019/10/20 9:05
 * @Version 1.0
 */
class WindowMenu extends JFrame {
    /**
     * 自定义WindowMenu方法
     * @param s 窗口的title
     * @param x 坐标系x
     * @param y 坐标系y
     * @param w 窗口宽width
     * @param h 窗口高height
     */
    WindowMenu(String s, int x, int y, int w, int h) {
        //内容全放init方法(函数)里面了
        init(s);
        //设置位置
        setLocation(x,y);
        //设置大小
        setSize(w,h);
        //设置可见性
        setVisible(true);
        //设置关闭窗口时的操作
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    }

    /**
     * 自定义方法init(主要用来设置窗口里的具体内容)
     * @param s 传进来的窗口标题title
     */
    private void init(String s) {
        //设置标题title为s
        setTitle(s);
        //创建菜单条menuBar
        JMenuBar menuBar = new JMenuBar();
        //新建菜单对象,title:菜单
        JMenu menu = new JMenu("菜单");
        //新建菜单对象,菜单“菜单”下的菜单“软件项目”,title:软件项目
        JMenu subMenu = new JMenu("软件项目");
        //新建菜单项title:java话题,icon:a.gif
        JMenuItem jMenuItem1 = new JMenuItem("java话题", new ImageIcon("a.gif"));
        //新建菜单项title:动画话题,icon:b.gif
        JMenuItem jMenuItem2 = new JMenuItem("动画话题", new ImageIcon("b.gif"));
        //菜单项快捷键A
        jMenuItem1.setAccelerator(KeyStroke.getKeyStroke('A'));
        //菜单项快捷键Ctrl+s
        jMenuItem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
        //菜单加一个菜单项java话题
        menu.add(jMenuItem1);
        //菜单加一个横线
        menu.addSeparator();
        //菜单加一个菜单项动画话题
        menu.add(jMenuItem2);
        //菜单加一个软件项目菜单项
        menu.add(subMenu);
        //软件项目菜单项作为新菜单,在此菜单下增加菜单项汽车销售系统
        subMenu.add(new JMenuItem("汽车销售系统",new ImageIcon("c.gif")));
        //软件项目菜单项作为新菜单,在此菜单下增加菜单项农场信息系统
        subMenu.add(new JMenuItem("农场信息系统",new ImageIcon("d.gif")));
        //把菜单放入菜单条里
        menuBar.add(menu);
        //把菜单条设置进窗口中
        setJMenuBar(menuBar);
    }
}

新建启动类(主类、主函数)

package com.lion.string;

/**
 * @Author SunLionAhh
 * @Date 2019/10/20 9:01
 * @Version 1.0
 */
public class MenuTest {
    public static void main(String[] args) {
        WindowMenu windowMenu = new WindowMenu("带菜单的窗口",20,30,200,190);
    }
}

最后说明一下,类的注释、方法的注释,都写成javadoc形式 即用这个/**/ ,别用这个//,如上述代码所示。
发布了55 篇原创文章 · 获赞 15 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_43141611/article/details/102647551
今日推荐