2016-03-31 18 views
0

Ich verwende Scene Builder 2.0 und möchte eine Schaltfläche standardmäßig deaktivieren. Das funktioniert gut, aber ich möchte es aktivieren, wenn zwei boolesche Werte auf wahr gesetzt sind. Wie erstelle ich im Szenengenerator eine Bedingung zum Status einer Schaltfläche?Scene Builder (JavaFX) Schaltfläche Bedingung deaktivieren

Also die LaunchButton-Methode unten ist, was passiert, wenn auf die Schaltfläche geklickt wird. Und die Booleans in den CheckBox-Methoden sollten irgendwie mit dem Scene Builder verbunden sein.

Vielen Dank!

public void checkBox1(ActionEvent event) { 
    checkBox1.setDisable(true); 
    checkBox1Status = true; 
} 

public void checkBox2(ActionEvent event) { 
    checkBox2.setDisable(true); 
    checkBox2Status = true; 
} 

public void launchButton(ActionEvent event) throws InterruptedException { 
    progressBarMainMenu(event); 
} 
+0

Setzen Sie einen Listener auf Ihre Checkboxen, die die Schaltfläche aktualisieren, wenn Sie darauf klicken/ändern. Im Code (nicht im Szenen-Builder). Ich weiß nicht, wenn möglich direkt in Szene Builder (denke nicht) – Tokazio

+0

Aktualisierung Button Zustand wie: but.setDisable (checkbox1.isSelected && checkbox2.isSelected); – Tokazio

Antwort

0

Sie können dies nicht mit Scene Builder tun. Das Tool erzeugt eine FXML-Datei, die keine Code-Logik enthält.

+0

Tatsächlich können Sie möglicherweise einen bedingten Wert für eine Eigenschaft in FXML (und vielleicht auch für den Szenen-Builder) definieren, indem Sie eine [Ausdrucksbindung] (https://docs.oracle.com/javase/8/javafx/api/javafx) verwenden /fxml/doc-files/introduction_to_fxml.html#expression_binding). Nicht dass ich diesen Ansatz unbedingt empfehlen würde, wenn es möglich wäre, aber es ist vielleicht möglich. – jewelsea

Verwandte Themen