JavaFX:实时修改按钮文本
我有一个带有上下文菜单的按钮,其中包含一个JavaFX:实时修改按钮文本,java,button,javafx,Java,Button,Javafx,我有一个带有上下文菜单的按钮,其中包含一个菜单项重命名 rename.setOnMouseClicked应该提供更改按钮中文本的可能性:用户实际上可以删除文本中的一个字母,或者编写它,然后按enter键验证他键入的内容,以某种方式作为textField 可以这样做吗?如果是的话,我怎么办?谢谢是 以下是方法: public class EditableButtonApp extends Application { @Override public void start(Stag
菜单项重命名
rename.setOnMouseClicked应该提供更改按钮中文本的可能性:用户实际上可以删除文本中的一个字母,或者编写它,然后按enter键验证他键入的内容,以某种方式作为textField
可以这样做吗?如果是的话,我怎么办?谢谢是
以下是方法:
public class EditableButtonApp extends Application {
@Override
public void start(Stage primaryStage) {
BorderPane root = new BorderPane();
root.setCenter(new EditableButton("Editable Button"));
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
class EditableButton extends Button {
TextField tf = new TextField();
public EditableButton(String text) {
setText(text);
setOnMouseClicked(e -> {
tf.setText(getText());
setText("");
setGraphic(tf);
});
tf.setOnAction(ae -> {
// if (validateText(tf.getText())) {// this is where you would validate the text
setText(tf.getText());
setGraphic(null);
// }
});
}
}
public static void main(String[] args) { launch(args); }
}
调用按钮.setText(String)
方法是否无效?这是对标题问题“我可以修改按钮文本吗?”的建议,我不确定该问题是否与正文中的问题相同。否button.setText正在工作,但我想做的是在程序已打开时修改文本。例如,按钮上的用户可以在处理文本字段时修改文本,回车按钮将调用button.setText(String)
来验证用户键入的内容。我将尝试它,并在它工作后验证!谢谢!