// @formatter:off /* * Unlicensed, generated by javafx.ftl */ package javafx.scene.control; /** * {@link ButtonBase}建構器。 * * @author JarReflectionDataLoader-1.0.0 * @version jfxrt.jar * @param <Z> 要建構的物件型態(需繼承{@link ButtonBase}) * @param <B> 建構器本身的型態(需繼承{@link ButtonBaseMaker}) */ @javax.annotation.Generated("Generated by javafx.ftl") @SuppressWarnings("all") public class ButtonBaseMaker<Z extends ButtonBase, B extends ButtonBaseMaker<Z, B>> extends javafx.scene.control.LabeledMaker<Z, B> implements ButtonBaseMakerExt<Z, B> { private boolean hasOnAction; private javafx.event.EventHandler<javafx.event.ActionEvent> valOnAction; private boolean bound1OnAction; private boolean bound2OnAction; private javafx.beans.value.ObservableValue<? extends javafx.event.EventHandler<javafx.event.ActionEvent>> obsrv1OnAction; private javafx.beans.property.Property<javafx.event.EventHandler<javafx.event.ActionEvent>> obsrv2OnAction; @Override public void applyTo(Z instance) { super.applyTo(instance); if (this.hasOnAction) instance.setOnAction(this.valOnAction); if (this.bound1OnAction) instance.onActionProperty().bind(this.obsrv1OnAction); if (this.bound2OnAction) instance.onActionProperty().bindBidirectional(this.obsrv2OnAction); } /** * 設定屬性{@link ButtonBase#setOnAction(javafx.event.EventHandler)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B onAction(javafx.event.EventHandler<javafx.event.ActionEvent> value) { this.hasOnAction = true; this.valOnAction = value; return (B) this; } /** * 設定屬性{@link ButtonBase#onActionProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindOnAction(javafx.beans.value.ObservableValue<? extends javafx.event.EventHandler<javafx.event.ActionEvent>> source) { java.util.Objects.requireNonNull(source); this.bound1OnAction = true; this.obsrv1OnAction = source; this.bound2OnAction = false; this.obsrv2OnAction = null; return (B) this; } /** * 設定屬性{@link ButtonBase#onActionProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalOnAction(javafx.beans.property.Property<javafx.event.EventHandler<javafx.event.ActionEvent>> source) { java.util.Objects.requireNonNull(source); this.bound1OnAction = false; this.obsrv1OnAction = null; this.bound2OnAction = true; this.obsrv2OnAction = source; return (B) this; } }