每次单击删除按钮时,如何构建一个删除按钮以从 TextField 中删除一个字符?
How to build a delete button to remove a character from the TextField every time delete button is clicked?
JavaFX 文本字段
如何建立一个删除按钮(可以检测激活了哪个TextField)并在每次点击删除按钮时从TextField中删除一个字符?
(不好意思没说清楚,这里有更多的解释)
我有三个 TextField(如下表所示),当光标位于 tf1 中的其中一个 TextField 时,当我单击 btnDelete 按钮时,可以从 ft1 中删除一个字符(btnDelete 按钮的工作方式与从计算机键盘删除的方式相同)。
@FXML
TextField tf1;
@FXML
TextField tf2;
@FXML
TextField tf3;
@FXML
public void btnDelete(ActionEvent actionEvent) {
}
您的问题的解决方案是使用 focusedProperty 来保存,
当 newValue 为真时,在通用 TextField txt 上,TextField 聚焦 ...
查看此示例代码:
@FXML
TextField tf1;
@FXML
TextField tf2;
@FXML
TextField tf3;
TextField txt;
@FXML
public void btnDelete(ActionEvent actionEvent) {
txt.setText( txt.getText().substring(0, txt.getText().length()-1));
}
@Override
public void initialize(URL url, ResourceBundle rb) {
tf1.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue){
txt=tf1;
}
}
});
tf2.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue){
txt=tf2;
}
}
});
tf3.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue){
txt=tf3;
}
}
});
}
textfield.setText(textfield.getText(0, textfield.getLength()-1));
JavaFX 文本字段
如何建立一个删除按钮(可以检测激活了哪个TextField)并在每次点击删除按钮时从TextField中删除一个字符?
(不好意思没说清楚,这里有更多的解释) 我有三个 TextField(如下表所示),当光标位于 tf1 中的其中一个 TextField 时,当我单击 btnDelete 按钮时,可以从 ft1 中删除一个字符(btnDelete 按钮的工作方式与从计算机键盘删除的方式相同)。
@FXML
TextField tf1;
@FXML
TextField tf2;
@FXML
TextField tf3;
@FXML
public void btnDelete(ActionEvent actionEvent) {
}
您的问题的解决方案是使用 focusedProperty 来保存, 当 newValue 为真时,在通用 TextField txt 上,TextField 聚焦 ... 查看此示例代码:
@FXML
TextField tf1;
@FXML
TextField tf2;
@FXML
TextField tf3;
TextField txt;
@FXML
public void btnDelete(ActionEvent actionEvent) {
txt.setText( txt.getText().substring(0, txt.getText().length()-1));
}
@Override
public void initialize(URL url, ResourceBundle rb) {
tf1.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue){
txt=tf1;
}
}
});
tf2.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue){
txt=tf2;
}
}
});
tf3.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue){
txt=tf3;
}
}
});
}
textfield.setText(textfield.getText(0, textfield.getLength()-1));