GUI之Swing组件的下拉式菜单和弹出式菜单

创建和添加下拉式菜单,分为以下三个步骤

1.创建一个JMenuBar菜单栏对象,将其放置在JFrame窗口的顶部

2.创建JMenu菜单对象,将其添加到JMenuBar菜单中

3.创建JMenuItem菜单项,将其添加到JMenu菜单中

package gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class T15 {
    public static void main(String[] args) {
        JFrame j = new JFrame("下拉式菜单");//创建窗体,名称为下拉式菜单
        JMenuBar mb = new JMenuBar();//创建菜单栏
        JMenu menu = new JMenu("操作");//创建菜单名称为操作
        JMenuItem item1 = new JMenuItem("弹出窗口");//创建菜单项名称为弹出窗口
        JMenuItem item2 = new JMenuItem("关闭");//创建菜单项名称为关闭
//        为菜单项item1添加事件监听器
        item1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
//                创建一个JDialog窗体
                JDialog dialog = new JDialog(j,true);
                dialog.setTitle("弹出窗口");
                dialog.setSize(200,200);
                dialog.setLocation(50, 50);
                dialog.setVisible(true);
            }
        });
//        为菜单项item2添加事件监听器
        item2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
//                退出
                System.exit(0);
            }
        });
        
        menu.add(item1);//将菜单项添加到菜单中
        menu.add(item2);//将菜单项添加到菜单中
        mb.add(menu);//将菜单操作添加到菜单栏
        j.setJMenuBar(mb);//将菜单栏添加到JFrame窗体中
        
        j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        j.setSize(300,300);//设置窗体大小为宽300,高300
        j.setVisible(true);//设置窗体可见
    }
    
}

GUI之Swing组件的下拉式菜单和弹出式菜单_第1张图片

GUI之Swing组件的下拉式菜单和弹出式菜单_第2张图片

下面写弹出式菜单

在windows桌面单击鼠标右键会出现一个菜单,那就是弹出式菜单。

在JAVA中的Swing组件中,弹出式菜单用JPopupMenu表示

package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
public class T16 {
    public static void main(String[] args) {
        JFrame j = new JFrame("弹出式菜单");
//        创建一个JPopupMenu菜单
        JPopupMenu jpm = new JPopupMenu();
//        创建三个JMenuItem菜单项
        JMenuItem item1 = new JMenuItem("refresh");
        JMenuItem item2 = new JMenuItem("create");
        JMenuItem item3 = new JMenuItem("exit");
//        为exit添加监听器
        item3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
//        往JPopupMenu菜单添加菜单项
        jpm.add(item1);
        jpm.add(item2);
        jpm.addSeparator();//添加水平分割线
        jpm.add(item3);
//        为JFrame窗口添加鼠标clicked事件监听器
        j.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
//                如果单击的是鼠标的右键,显示JPopupMenu菜单
                if(e.getButton()==e.BUTTON3) {
                    jpm.show(e.getComponent(),e.getX(),e.getY());
                }
            }
        });
        j.setSize(300,300);
        j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        j.setVisible(true);
    }
}

 

GUI之Swing组件的下拉式菜单和弹出式菜单_第3张图片

 

你可能感兴趣的:(GUI之Swing组件的下拉式菜单和弹出式菜单)