> 文档中心 > 【Java中的菜单的常用方法】下拉菜单和弹出菜单

【Java中的菜单的常用方法】下拉菜单和弹出菜单

目录

Swing菜单组件

下拉式菜单

下拉式菜单的三个组件的详细讲解

下拉式菜单的创建与使用

创建和添加下拉式菜单的一般步骤

弹出式菜单

弹出式菜单的创建与使用


Swing菜单组件

下拉式菜单

创建一个下拉式菜单,需要三个组件,JmenuBar(菜单栏),Jmenu(菜单),Jmenultem(菜单项)。

下拉式菜单的三个组件的详细讲解

JMenuBar(菜单栏)

表示一个水平的菜单栏,用来管理菜单,不参与同用户的交互式操作,菜单栏可以放在容器的任何位置,但通常情况下会使用顶级窗口的setJMenuBar方法将它放置在顶级窗口的顶部,JMenuBar有一个午无参的构造函数,创建菜单栏时,只需要使用new关键字创建JMenuBar对象,创建完成之后,可以调用add(JMenu c)方法添加JMenu菜单。

JMenu(菜单)

用来整合管理菜单项,菜单可以是单一层次的结构,也可以是多层次的结构,可以使用JMenu(String text)创建JMenu菜单,其中的参数text表示菜单上的文本。

菜单的常用方法

方法声明 功能描述
void JMenuItem add(JMenuItem menuItem) 将菜单项添加到菜单末尾,返回此菜单项
void addSeparator() 将分隔符添加到菜单末尾
JMenuItem getItem(int pos) 返回指定索引处的菜单项,第一个菜单项的索引为0
int getItemCount() 返回菜单上的项数,菜单项和分隔符都计算在内
void JMenuItem insert(JmuenuItem menuItem,int pos) 在指定索引处插入菜单项
void insertsertSeparator(int pos) 在指定索引处插入分隔符
void remove(int pos) 从菜单中移除指定索引处的菜单项
void remove(JMenuItem menuItem) 从菜单中移除指定的菜单项
void removeAll() 从菜单中移除所有的菜单项

JMenuItem(菜单项)

在创建菜单项时,通常会采用构造方法JMenuItem为菜单项指定文本内容。因为JMenuItem是继承AbstractButton类的,所以可以吧它看作一个按钮,可以用无参的构造方法创建一个菜单项,可以调用从AbstractButton类中继承的setText(String text)方法和setItem()方法为其设置文本和图标。

下拉式菜单的创建与使用

 package Swing; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class CaiDan extends JFrame {     public  CaiDan(){         //创建菜单栏         JMenuBar menuBar=new JMenuBar();         //将菜单栏添加到JFrame窗口中         this.setJMenuBar(menuBar);         //创建菜单         JMenu menu=new JMenu("操作");         //将菜单添加到菜单栏上         menuBar.add(menu);         //创建两个菜单项         JMenuItem item1=new JMenuItem("弹出窗口");         JMenuItem item2=new JMenuItem("关闭");         //为菜单项添加事件监听器         item1.addActionListener(new ActionListener() {             @Override             public void actionPerformed(ActionEvent e) {                 //创建一个JDialog窗口                 JDialog dialog=new JDialog(CaiDan.this,true);                 dialog.setTitle("弹出窗口");                 dialog.setSize(200,200);                 dialog.setLocation(50,50);                 dialog.setVisible(true);             }         });         item2.addActionListener(new ActionListener() {             @Override             public void actionPerformed(ActionEvent e) {                 System.exit(0);             }         });         //将菜单项添加到菜单中         menu.add(item1);         menu.addSeparator();         menu.add(item2);         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         this.setSize(300,300);         this.setVisible(true);     }     public static void main(String[] args) {         new CaiDan();     } }

 

 

创建和添加下拉式菜单的一般步骤

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

  • 创建JMenu菜单对象,将其添加到JMenuBar菜单栏中

  • 创建JMenuItem菜单项,将其添加到JMenuBar菜单中。

弹出式菜单

在系统中单击右键出现的菜单就是弹出式菜单,在Java的Swing组件中,弹出式菜单用JPopupMenu表示。通过add()方法添加JMenuItem菜单项,默认是不可见的。

弹出式菜单的创建与使用

 package Swing; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class TanChu extends JFrame {     private JPopupMenu popupMenu;     public TanChu(){         //创建一个JPopupMenu菜单         popupMenu=new JPopupMenu();         //创建三个JMenuItem菜单项         JMenuItem refreshItem=new JMenuItem("refresh");         JMenuItem createItem=new JMenuItem("create");         JMenuItem exitItem=new JMenuItem("exit");         //为exitItem菜单项添加事件监听器         exitItem.addActionListener(new ActionListener() {             @Override             public void actionPerformed(ActionEvent e) {                 System.exit(0);             }         });         //向JPopupMenu菜单添加菜单项         popupMenu.add(refreshItem);         popupMenu.add(createItem);         popupMenu.addSeparator();         popupMenu.add(exitItem);         //向JFrame窗口添加clicked鼠标事件监听器         this.addMouseListener(new MouseAdapter() {             @Override             public void mouseClicked(MouseEvent e) {                 //通过值匹配,当点击右键的时候,显示JPopupMenu菜单                if(e.getButton()==e.BUTTON3){                    popupMenu.show(e.getComponent(),e.getX(),e.getY());                }             }         });         this.setSize(300,300);         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         this.setVisible(true);     }     public static void main(String[] args) {         new TanChu();     } }

 

 

⛵小结
以上就是我对于Java中几种常见菜单的理解,以便于我们之后在不同开发中根据不同的情况设置不同的菜单,提高用户的体验感。

如果这篇【文章】有帮助到你,希望可以点个赞👍,创作不易,如果有对【Java基础】【后端技术】、【数据结构】【Linux操作系统】感兴趣的小可爱,也欢迎关注 【LNORA】,对【算法设计与分析】感兴趣的可以免费订阅【算法设计与分析】的专栏,如果我的文章有帮助到你,麻烦来个一键三连奥,这将是对我莫大的鼓励,我将为大家带来更加优质的文章!我们可以一起进步,每天进步一点点,我将会给你带来巨大的【收获与惊喜】💝💝!