当用户已经在 JavaFX 中填写文本时如何启用按钮
How to enable a button when user already fill in the text in JavaFX
public class FirstStage{
@FXML
private Label HighScore;
@FXML
private TextField Player_Name;
@FXML
private Button closedButton;
@FXML
private Button Button_Play;
@FXML
void ButtonPlay(ActionEvent event) throws Exception{
if(Player_Name.getText().isEmpty()) {
Button_Play.setDisable(true);
Player_Name.setPromptText("Please Enter Your Name");
}
else{
String name = Player_Name.getText();
new SecondStage(name);
}
}
这是我的MainController.java。我希望在用户输入文本后启用该按钮。有谁知道如何在用户已经填写文本后启用返回按钮。
您可以 bind
Button
使用 TextField
文本 属性 禁用 属性(我修改了名称以符合 Java命名约定):
buttonPlay.disableProperty().bind(playerName.textProperty().isEmpty());
或者如果您需要最少的字母数:
int minLength = 3;
buttonPlay.disableProperty().bind(
playerName.textProperty().length().lessThan(minLength));
注意:您应该在 controller
初始化程序中执行 binding
。
public class FirstStage{
@FXML
private Label HighScore;
@FXML
private TextField Player_Name;
@FXML
private Button closedButton;
@FXML
private Button Button_Play;
@FXML
void ButtonPlay(ActionEvent event) throws Exception{
if(Player_Name.getText().isEmpty()) {
Button_Play.setDisable(true);
Player_Name.setPromptText("Please Enter Your Name");
}
else{
String name = Player_Name.getText();
new SecondStage(name);
}
}
这是我的MainController.java。我希望在用户输入文本后启用该按钮。有谁知道如何在用户已经填写文本后启用返回按钮。
您可以 bind
Button
使用 TextField
文本 属性 禁用 属性(我修改了名称以符合 Java命名约定):
buttonPlay.disableProperty().bind(playerName.textProperty().isEmpty());
或者如果您需要最少的字母数:
int minLength = 3;
buttonPlay.disableProperty().bind(
playerName.textProperty().length().lessThan(minLength));
注意:您应该在 controller
初始化程序中执行 binding
。