JavaFX模拟Swing Action

acc*_*c15 7 java swing javafx-2

在Swing应用程序中,我可以声明一个允许维护的Action对象:

  • 行动可用性
  • 加速键
  • 采取什么行动呢

和其他东西在一个地方.

让我向您介绍一些细节:

我有一个场景TreeView.在场景中我有一些按钮,允许添加孩子和删除所选项目.

Additionaly即时具有ContextMenu用于TreeViewMenuItem的其做同样的事情作为按钮.

根据所选项目,我需要启用或禁用这些菜单项和按钮.

在Swing中,我可以使用Swing Action轻松解决这个问题.即启用/禁用操作将启用/禁用所有相关组件.

JavaFX 2.2是否有一些Swing Action的模拟?

sar*_*can 3

简短的回答:不。JavaFX 2.2 没有与 Action 相当的东西。有一个名为 ControlsFX 的扩展项目,它提供操作类,但旨在与 JavaFX 8 配合使用。

话虽如此,实施至少一个可行的替代方案应该很容易。基本上,我会编写自己的 Action 类,公开 ObservableBooleanValue (或者在您的情况下可能是 BooleanBinding),并将控件的禁用属性绑定到它以模仿 Swings 启用状态。它有点麻烦,但是通过几行实用方法,您至少可以接近。