Java详细解析下拉菜单和弹出菜单的使用(java 下拉菜单)
537
2022-08-01
目录Swing菜单组件下拉式菜单介绍下拉式菜单的三个组件JMenuBar(菜单栏)JMenu(菜单)JMenuItem(菜单项)下拉式菜单的创建与使用创建和添加下拉式菜单的一般步骤弹出式菜单介绍弹出式菜单的创建与使用小结
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)返回指定索引处的菜单项,第一个菜单项的索引为0int 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.setDefaulhttp://tCloseOperation(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中几种常见菜单的理解,以便于我们之后在不同开发中根据不同的情况设置不同的菜单,提高用户的体验感。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~