JavaFX图表上的Swing上下文菜单
我主要在swing中开发一个应用程序,尽管图表对话框使用JavaFX。(JavaFX图表上的Swing上下文菜单,java,swing,javafx,charts,java-7,Java,Swing,Javafx,Charts,Java 7,我主要在swing中开发一个应用程序,尽管图表对话框使用JavaFX。(图表在网格窗格中在JFXPanel中准确地说。) 首先,Chart没有实现setContextMenu方法来使用JFXContextMenu。我已经看到了一种解决方法,将处理程序附加到图表的右键单击上,但是当菜单失去焦点时,它不会从GUI中删除,而是会一直存在,直到用户1)触发它再次打开,或者2)单击菜单项 chart.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHa
图表
在网格窗格中
在JFXPanel中
准确地说。)
首先,Chart
没有实现setContextMenu
方法来使用JFXContextMenu
。我已经看到了一种解决方法,将处理程序附加到图表的右键单击上,但是当菜单失去焦点时,它不会从GUI中删除,而是会一直存在,直到用户1)触发它再次打开,或者2)单击菜单项
chart.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
if (t.getButton() == MouseButton.SECONDARY) {
contextMenu.show(chart, t.getScreenX(), t.getScreenY());
}
}
});
chart.addEventHandler(MouseEvent.MOUSE_单击,新建EventHandler()){
@凌驾
公共无效句柄(MouseEvent t){
if(t.getButton()==MouseButton.SECONDARY){
show(chart,t.getScreenX(),t.getScreenY());
}
}
});
也就是说,我更喜欢使用Swingjpopmpmenu
。如何将其绑定到我的图表
并保持自然行为
谢谢大家! 我确定不可能使用
jpopmpmenu
ContextMenu
被添加到JLabel
:
Label contextMenuLabel = new Label();
grid.add(contextMenuLabel, 0, 0); // Add to the same grid after adding the chart
contextMenuLabel.setPrefSize(width, height);
contextMenuLabel.setMinSize(width, height);
contextMenuLabel.setMaxSize(width, height);
ContextMenu contextMenu = new ContextMenu();
contextMenuLabel.setContextMenu(contextMenu);