2017-01-10 6 views
1

FXMLでコントロールプロパティを直接コントローラのプロパティにバインドすることは可能ですか? 何かのように:JavaFX:FXML文書のバインディング式

<?xml version="1.0" encoding="UTF-8"?> 
<?import java.net.*?> 
<?import javafx.geometry.*?> 
<?import javafx.scene.control.*?> 
<?import javafx.scene.layout.*?> 
<?import javafx.scene.text.*?> 

<GridPane xmlns:fx="http://javafx.com/fxml" 
    fx:controller="application.PaneController" minWidth="200"> 
    <Label id="counterLabel" text="${controller.counter}" /> 
    <Button translateX="50" text="Subtract 1" 
     onAction="#handleStartButtonAction" /> 
</GridPane> 

と思われます。

答えて

1

はい、これはあなたがコントローラで正しいメソッドを実装すると想定可能である:

public class PaneController { 

    private final IntegerProperty counter = new SimpleIntegerProperty(100); 

    public IntegerProperty counterProperty() { 
     return counter; 
    } 

    // this is also required 
    public int getCounter() { 
     return counter.get(); 
    } 

    public void handleStartButtonAction() { 
     counter.set(counter.get() - 1); 
    } 

} 

はまた、私は

+0

...同じセル内の両方Node Sを配置する最良の決断であるかどうかわからないんだけど私はcouterPropertyゲッターを実装しただけで、プレーンなゲッターは実装していません。 これは正常です。ありがとう – TosKen

+0

eゲッター/セッター/プロパティを生成するには、e-fxのclipseプラグインを使用してください:right-clic/source/generate JavaFX Getters and Setters – pdem

関連する問題