【发布时间】:2014-06-06 14:51:51
【问题描述】:
我正在开发一个遗留的 SWING 应用程序,我想在其中添加 JavaFX 8 功能。为了将 JavaFX 集成到 SWING 中,我以与 oracle page 中所述类似的方式使用了 JFXPanel。
除了上下文菜单之外,一切似乎都运行良好。基本上,我有一个包含带有 ContextMenu 的 TableView 的视图。单击 ContextMenu 中的一项应触发我的 TestController 中的 doSomething()。这是 FXML 文件。
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="views.fx.testfx8.TestController">
<center>
<TableView prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<columns>
<TableColumn prefWidth="249.0" text="Foo" />
<TableColumn prefWidth="236.0" text="Bar" />
</columns>
<contextMenu>
<ContextMenu>
<items>
<MenuItem mnemonicParsing="false" text="Item 1" onAction="#doSomething"/>
<MenuItem mnemonicParsing="false" text="Item 2" onAction="#doSomething"/>
</items>
</ContextMenu>
</contextMenu>
</TableView>
</center>
</BorderPane>
我的问题是显示了弹出菜单,但没有悬停动画,如果我单击一个项目,什么也不会发生。但是,使用向上/向下箭头键并按 Enter 就像一个魅力。悬停动画正在显示并且 doSomething() 方法被调用。
我找到了一种可能的解决方案here,但它对我不起作用。
有什么想法吗?
【问题讨论】:
-
这看起来像一个错误报告。 JavaFX 错误报告应在JavaFX issue tracker 中进行。
-
您是否能够解决/解决此错误?一旦我们尝试在 SLES 11 SP 1 上使用 jre 8 运行,我们就会看到所有弹出窗口(来自组合框、右键单击、菜单)都存在相同的问题。
标签: swing contextmenu javafx-8