首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何判断是哪个TextField触发了JavaFX中的EventHandler?

在JavaFX中,可以通过使用Event.getSource()方法来判断是哪个TextField触发了EventHandler。Event.getSource()方法返回触发事件的对象。

以下是一个示例代码,演示如何判断是哪个TextField触发了EventHandler:

代码语言:txt
复制
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TextFieldEventExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        TextField textField1 = new TextField();
        TextField textField2 = new TextField();

        EventHandler<ActionEvent> eventHandler = new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                if (event.getSource() == textField1) {
                    System.out.println("TextField1 triggered the event.");
                } else if (event.getSource() == textField2) {
                    System.out.println("TextField2 triggered the event.");
                }
            }
        };

        textField1.setOnAction(eventHandler);
        textField2.setOnAction(eventHandler);

        VBox root = new VBox(textField1, textField2);
        Scene scene = new Scene(root, 200, 200);

        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在上面的示例中,我们创建了两个TextField:textField1和textField2,并为它们都设置了相同的EventHandler。当用户在任何一个TextField中按下Enter键时,EventHandler会被触发。在EventHandler中,我们使用event.getSource()方法来判断是哪个TextField触发了事件,并打印相应的消息。

这是一个简单的示例,你可以根据实际需求进行扩展和修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener

    低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。 该事件被传递给每一个FocusListener或FocusAdapter注册,以接收使用组件的此类事件对象addFocusListener方法。 ( FocusAdapter对象实现FocusListener接口。)每个此类侦听器对象获取此FocusEvent当事件发生时。 有两个焦点事件级别:持久性和暂时性的。 永久焦点改变事件发生时焦点直接移动从一个组件到另一个,例如通过到requestFocus的(呼叫)或作为用户使用TAB键遍历组件。 当暂时丢失焦点的组件的另一个操作,比如释放Window或拖动滚动条的间接结果一时焦点变化的事件发生。 在这种情况下,原来的聚焦状态将被自动一旦操作完成恢复,或者,对于窗口失活的情况下,当窗口被重新激活。 永久和临时焦点事件使用FOCUS_GAINED和FOCUS_LOST事件id传递; 水平可以使用isTemporary()方法的事件区分开来。 如果未指定的行为将导致的id任何特定的参数FocusEvent实例不是从范围FOCUS_FIRST到FOCUS_LAST

    01
    领券