JavaFX菜单ContextMenu使用

JavaFX菜单ContextMenu使用在开发应用的过程中 想做一个类似下面截图的功能 点击菜单按钮之后 在下面显示下拉面板 该截图是华为 Hisuite 客户端 通过 ContextMenu 可以实现该功能 首先定义 GlobalMenu 继承 ContextMenu 显示这些功能选项 packagecom nii desktop widget menu importjavafx scene control ContextMe

在开发应用的过程中。想做一个类似下面截图的功能,点击菜单按钮之后,在下面显示下拉面板(该截图是华为Hisuite客户端)。

JavaFX菜单ContextMenu使用

通过ContextMenu可以实现该功能,首先定义GlobalMenu,继承ContextMenu,显示这些功能选项

package com.nii.desktop.widget.menu; import javafx.scene.control.ContextMenu; import javafx.scene.control.MenuItem; / * Created by wzj on 2017/8/22. */ public class GlobalMenu extends ContextMenu { / * 单例 */ private static GlobalMenu INSTANCE = null; / * 私有构造函数 */ private GlobalMenu() { MenuItem settingMenuItem = new MenuItem("设置"); MenuItem updateMenuItem = new MenuItem("检查更新"); MenuItem feedbackMenuItem = new MenuItem("官方论坛"); MenuItem aboutMenuItem = new MenuItem("问题与建议"); MenuItem companyMenuItem = new MenuItem("关于"); getItems().add(settingMenuItem); getItems().add(updateMenuItem); getItems().add(companyMenuItem); getItems().add(feedbackMenuItem); getItems().add(aboutMenuItem); } / * 获取实例 * @return GlobalMenu */ public static GlobalMenu getInstance() { if (INSTANCE == null) { INSTANCE = new GlobalMenu(); } return INSTANCE; } } 

假设该菜单按钮是menuButton,设置按钮点击事件,点击之后,把该GloriaMenu显示在按钮的下面就可以了。

/ * 菜单点击事件 */ public void menuButtonClickAction() { menuButton.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { GlobalMenu.getInstance().show(menuButton, Side.BOTTOM,0,0); } }); }


下面是我写的demo截图:

JavaFX菜单ContextMenu使用


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232961.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 睿智的目标检测7——yolo3详解及其预测代码复现

    睿智的目标检测7——yolo3详解及其预测代码复现睿智的目标检测7——yolo3详解及其预测代码复现学习前言代码下载实现思路1、yolo3的预测思路(网络构建思路)2、利用先验框对网络的输出进行解码3、进行得分排序与非极大抑制筛选实现结果学习前言对yolo2解析完了之后当然要讲讲yolo3,yolo3与yolo2的差别主要在网络的特征提取部分,实际的解码部分其实差距不大。代码下载本次教程主要基于github中的项目https://git…

    2022年6月18日
    39
  • 微服务 eureka_变压吸附的原理

    微服务 eureka_变压吸附的原理文章目录前言一、Eureka是什么?二、Eureka是干什么的?1.服务治理三、Eureka原理解析1.总体流程2.读入数据总结前言       随着互联网技术的发展,系统用户量的增长,很多系统都采用了分布式的方式进行部署。这个固然大大提高了系统的性能和可用性,但是分布式部署导致各种服务数量大增,这给我们进行服务治理和运维带来了困扰。一、Eureka是什么?     &nbsp

    2022年4月19日
    39
  • 转置卷积学习笔记

    转置卷积学习笔记文章目录1.转置卷积定义2.1.转置卷积定义2.

    2022年6月21日
    29
  • jrtplib介绍[通俗易懂]

    jrtplib介绍[通俗易懂]程序流程发送:获得接收端的IP地址和端口号创建RTP会话指定RTP数据接收端设置RTP会话默认参数发送流媒体数据接收:获得用户指定的端口号创建RTP会话设置接收模式接受RTP数据检索RTP数据源获取RTP数据报删除RTP数据报1.初始化I、在使用JRTPLIB进行实时流媒体数据传输之前,首先应该生成R…

    2022年7月28日
    13
  • linux 通配符 排除,linux通配符「建议收藏」

    linux 通配符 排除,linux通配符「建议收藏」今天在看linux中有关Makefile文件的写法的时候,提到了通配符的概念。感觉似乎挺熟悉,但一时间竟想不起来到底为何物!经过在网上查询现总结如下:1、linux中基本通配符:“?”可替代单个字符。“*”可替代任意字符。方括号“[charset]”可替代charset集中的任何单个字符。对最后一条做些解释。[cChH]通配符便可替代c或h字符的大小写形式。通配符集还能描述介于字符对之间的所有字符…

    2026年1月27日
    8
  • IMG镜像写盘工具physdiskwrite,用于MikroTik RouterOS的安装(Windows)

    IMG镜像写盘工具physdiskwrite,用于MikroTik RouterOS的安装(Windows)常用img的备份:1、linux下使用dd,Windows下使用WinImage2、或者还有很多,比如再生龙等等。img还原:1、Win32DiskImager2、physdiskwritephysdiskwrite的简单使用:physdiskwrite.exe-uusb.img出现如下提示:千万不要选错了盘。软件参数:…

    2025年6月29日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号