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


相关推荐

发表回复

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

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