JavaFX菜单ContextMenu使用
程序员文章站
2024-02-06 22:59:46
...
在开发应用的过程中。想做一个类似下面截图的功能,点击菜单按钮之后,在下面显示下拉面板(该截图是华为Hisuite客户端)。
通过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使用
-
使用javaFX 做一个屏幕录像工具
-
Datagridview使用技巧(9)Datagridview的右键菜单
-
python之wxPython菜单使用详解
-
mvvmFX:使用JavaFX的Model-View-ViewModel
-
JavaFX系列之给对象添加ContextMenu菜单
-
JavaFx Scene Builder TableView组件的使用
-
问题4:使用easyui comboTree加载菜单时,后台字段和规定字段不一致无法加载问题
-
JavaFX使用RadioButton、CheckBox实现单选按钮、多选框
-
JavaFX使用MenuBar、Meun、MenuItem实现简单菜单窗口