我有一个扩展Button的类。有一个静态布尔值设置为false。当此布尔值将值更改为true时,我想更改所有按钮的文本。
我尝试使用绑定功能,但失败了。 :d
public class KolonaA extends Button{
...
static Boolean solved = false;
...
public KolonaA() {
super();
this.setPrefSize(size[0], size[1]);
this.setLayoutX(xCord + buttonCount * 30);
this.setLayoutY(yCord + buttonCount * 40);
//something like this:
this.textProperty().bind(solved ? "true" "false");
//CHANGE TEXT OF BUTTON WHEN solved CHANGES VALUE
...
}
...
}
答案 0 :(得分:2)
我不完全确定它只是一个按钮和一组按钮。如果要更改已发布代码的自定义按钮的文本,而不是布尔值,请使用BooleanProperty
。稍后您可以向其添加Listener
并相应地更改按钮的文本。
public class KolonaA extends Button{
...
public BooleanProperty solved = new SimpleBooleanProperty();
...
public KolonaA() {
super();
solved.addListener((observable, oldValue, newValue) -> {
if(newValue)
setText("True");
else
setText("False");
});
...
}
...
}