我正在开发一个遗留的SWING应用程序,我想在其中添加JavaFX 8功能。为了在SWING中集成JavaFX,我使用JFXPanel的方式与本oracle page中描述的类似。
除了上下文菜单之外,一切似乎都很正常。基本上,我有一个包含带有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,但它对我不起作用。
有什么想法吗?
发布于 2014-07-12 06:47:17
https://stackoverflow.com/questions/24084779
复制相似问题