【发布时间】:2025-12-19 19:55:11
【问题描述】:
虽然图表对话框使用 JavaFX,但我主要在 Swing 中开发应用程序。 (确切地说,Chart 在 GridPane 在 JFXPanel 中。)
首先,Chart 没有实现 setContextMenu 方法来使用 JFX ContextMenu。我已经通过将处理程序附加到图表的右键单击来看到一种解决方法,但是当它失去焦点时菜单不会从 GUI 中删除,而是一直持续到用户 1)触发它再次打开或 2)单击MenuItem.
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());
}
}
});
也就是说,我更喜欢使用 Swing JPopupMenu。如何将其绑定到我的 Chart 并保持自然行为?
谢谢!
【问题讨论】:
标签: java swing javafx charts java-7