Java详细解析下拉菜单和弹出菜单的使用
作者:LNORA
这篇文章主要介绍了怎么用Java来创建和使用下拉菜单和弹出菜单,下拉菜单和弹出菜单是我们经常要用的工具,但是你有想过自己怎么去实现它吗,感兴趣的朋友跟随文章往下看看吧
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详细解析下拉菜单和弹出菜单的使用的文章就介绍到这了,更多相关Java菜单内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!