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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前端性能优化的七种方法是_web前端性能

    前端性能优化的七种方法是_web前端性能前端性能优化主要有七种方法,包括减少请求数量、减少资源大小、优化网络连接、优化资源加载、减少重绘回流、使用性能更好的API和构建优化1、减少请求数量1.1图片处理1.1.1雪碧图雪碧图是根据csssprite音译过来的,就是将很多小图标放在一张图片上就称之为雪碧图,可以减少网站http请求数量,但是当整合图片比较大的时候,一次加载比较慢,随着字体图片、svg图片的流行该技术慢慢退出了舞台1.1.2Base64将图片的内容以Base64格式内嵌到HTML中,可以减少http请求数量,但是

    2025年6月24日
    5
  • ETH挖矿显卡选型和矿机配置

    ETH挖矿显卡选型和矿机配置以太坊显卡挖矿指南1.显卡篇挖矿靠显卡核心计算,所以AMD显卡比NVIDA卡更高效。选择AMD卡,要求显卡显存大于2G,推荐购买4G显存显卡.目前市面上可购选择的显卡品牌型号还有速度.蓝宝石-影驰-技嘉-索泰-讯景-微星-迪兰-盈通#显卡型号操作系统挖矿速度驱动版本显卡功耗

    2025年5月23日
    3
  • linux关闭networkmanager服务_networkmanager是什么服务

    linux关闭networkmanager服务_networkmanager是什么服务systemctlstopNetworkManagersystemctldisableNetworkManager

    2022年9月27日
    6
  • CFileDialog的使用方法简单介绍

    CFileDialog的使用方法简单介绍

    2021年12月10日
    37
  • 自己搭建个人文件服务器_内网设置微信代理

    自己搭建个人文件服务器_内网设置微信代理背景:因为微信公众平台支持的后台服务器只允许为80端口,而本地服务器开发程序与在VPS上部署程序运行,每次无论是使用scp还是ftp进行文件传输无疑是低效的,因此需要一种方法可以方便的在本地服务器调试微信公众平台。有的使用,ngrok,此方法是通过ssh反向代理达到目的。1.在本地服务器通过命令:ssh–fNR8181:localhost:80user@host.com–p22–g达到…

    2022年8月21日
    10
  • Window 平台下添加 tree 命令[通俗易懂]

    Window 平台下添加 tree 命令[通俗易懂]在WIndow平台下,系统自带的命令行工具CMD可以使用dir命令来以树结构打印目录文件,Powershell工具可以使用tree命令。但是,一般为了开发方便,通常会使用更接近Linux命令的Git-Bash作为常用的命令行工具,然而Git-Bash却不支持tree命令。以下为给Window平台下Git-Bash添加tree命令的方法。tree获取路…

    2022年7月24日
    37

发表回复

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

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