选项卡创建事件处理程序

时间:2019-07-14 09:45:55

标签: javafx tabs

在我的代码中,MyTab扩展了Tab,直到版本8存在为止,方法setEventHandler (...);
由于我现在使用的是javaFX 12版本,因此此方法为private,现在无法使用了。 我也无法访问eventHandlerManager的变量Tab
如何在JavaFX 12中访问此功能?

这是代码示例。

public class MyTab extends Tab {
  ...

  protected ObjectProperty<EventHandler<EventAction>> onEventDockRequest=null;

    public void setOnEventDockRequest(EventHandler<EventAction> value) {
        onEventDockRequestProperty().set(value);
    }

    public final ObjectProperty<EventHandler<EventAction>> onEventDockRequestProperty() {
        if (onEventDockRequest == null) {
            onEventDockRequest = new ObjectPropertyBase<EventHandler<EventAction>>() {

                @Override protected void invalidated() {
                    setEventHandler(EventAction.DOCK_REQUEST, get());  // here error                 
                }

                @Override public Object getBean() {
                    return DTab.this;
                }

                @Override public String getName() {
                    return "onEventDockRequest";
                }
            };
        }
        return onEventDockRequest;
    }

}

0 个答案:

没有答案