【发布时间】:2019-07-17 10:51:33
【问题描述】:
我想验证文本字段是否为空或不使用 javafx。
我对事件处理程序感到困惑。我想确认: - setOnAction 是否有多种使用方式:
submit.setOnAction((new EventHandler<MouseEvent>() {
public void handle(MouseEvent event) {
System.out.println("Hello World");
}
}));
或
submit.setOnAction(e -> handle(e));
这两种选择有什么区别?
- 第二选择是否不能使用ActionEvent submit.setOnAction(e -> handle()); 但是定义 e 的目的是什么?
我想验证我的应用程序中的文本字段。
public class AppGUI extends Application{
public static void main(String[] args)
{
launch();
}
public void start(Stage topView)
{
createUI(topView);
}
private void createUI(Stage topView)
{
TextField name = TextField();
Button submit = new Button("Submit");
submit.setOnAction(e -> validate());
}
private boolean validate()
{
// if textfield is empty, return false. else, return true.
}
我在这里迷路了。如果 setOnAction 中的 e 不用于 validate 可以吗?如何将文本字段的值传递给 validate()?使文本字段私有变量是唯一的方法吗? (因为我有这么多的文本字段,我想知道它是否是一个不错的选择)。 在 createUI 方法中,我如何判断 validate() 是否返回 false,显示错误消息,如果为 true,则执行其他操作? 谢谢,打扰了
【问题讨论】:
标签: javafx eventhandler