JFXPanel中的JavaFX-8 ContextMenu没有反应

时间:2014-06-06 14:51:51

标签: swing contextmenu javafx-8

我正致力于传统的SWING应用程序,我想添加JavaFX 8功能。为了在SWING中集成JavaFX,我以与oracle page中描述的方式类似的方式使用了JFXPanel。

除了上下文菜单外,一切似乎都很好。基本上我有一个包含带有ContextMenu的TableView的视图。单击ContextMenu中的一个Item应该在我的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>

我的问题是弹出菜单显示但没有悬停动画,如果我点击一个项目没有任何反应。但是,使用向上/向下箭头键并按下输入就像一个魅力。显示悬停动画并调用doSomething()方法。

我找到了一个可能的解决方案here,但它对我不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

此错误将在jre 8 update 20中修复。

https://javafx-jira.kenai.com/browse/RT-36956

我已经使用早期发布候选版本测试了此问题,它确实修复了该错误。