我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java详细解析下拉菜单和弹出菜单的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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菜单内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java详细解析下拉菜单和弹出菜单的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

android studio 的下拉菜单Spinner使用详解

一、认识Spinner Spinner其实就是一个列表选择框。不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。 Spinner 与 Gallery 都继承了AbsSpinner,AbsSpinner 继
2022-06-06

android使用PopupWindow实现页面点击顶部弹出下拉菜单

实现此功能没有太多的技术难点,主要通过PopupWindow方法,同时更进一步加深了PopupWindow的使用,实现点击弹出一个自定义的view,view里面可以自由设计,比较常用的可以放一个listview。 demo中我只是一个点击展
2022-06-06

Android 使用PopupWindow实现弹出更多的菜单实例详解

最近想要做一个弹出更多的菜单,而原生的弹出菜单却不是我们想要的效果,所以必然要自定义菜单咯。本人也是借鉴网上的资料进行封装的,感觉还蛮不错的。 原生的菜单如下图:自定义之后的效果图:是不是看到这里之后,对比可知,原生的效果不太理想,所以还是
2022-06-06

Android之用PopupWindow实现弹出菜单的方法详解

在使用UC-WebBrowser时,你会发现它的弹出菜单跟系统自带的菜单不一样。它实现更多菜单选项的显示和分栏。其实,它的本身是PopupWindow或者是AlertDialog对话框,在里面添加两个GridView控件,一个是菜单标题栏,
2022-06-06

javascript当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件使用什么函数,详细讲解

当用户在页面上触发上下文菜单(右键单击或快捷键)时,JavaScript中使用contextmenu函数处理事件。该函数提供有关菜单详细信息的访问,可以自定义处理菜单事件,包括阻止默认菜单行为。对于键盘快捷键触发,可以使用keydown事件处理程序和keyCode属性进行处理。contextmenu函数允许对上下文菜单行为进行自定义,增强交互,但需要注意不同浏览器默认行为和可用性问题。
javascript当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件使用什么函数,详细讲解
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录