首页
学习
活动
专区
工具
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触发了事件,并打印相应的消息。

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

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

相关·内容

如何判断进程是在哪个容器中运行的?

在某些情况下,可能在宿主机上存在“看得到却摸不到”的进程;有的时候容器太多,想知道进程具体是哪个容器运行的?...我们来尝试下: 首先在容器中的test目录下运行sleep 10000 在宿主机ps能看到对应的进程 看对应的proc下的cwd,也确实和容器中的路径一样,在/test目录下,但是宿主机实际上并没有这个路径...大概率可以判断这个进程不是在宿主机上的,可以通过如下这个命令判断命令是否是在容器中执行的: ps -e -o pid,cmd,comm,cgroup 可以看到pid为29656的cgroup是在docker...或者cat对应的进程cgroup也可以: cat /proc/xxxx/cgroup 和我们执行的sleep命令的容器一致: 因此可以得出结论,pid为29656的进程是在 bf85501b3084601ba76b8cb303917134d58b5e7783c14c1636ff1c56a3d83c1f...容器里执行的。

5.3K30

Using JavaFX UI Controls 12 Table View

很多JavaFX SDK API种的类为在表格表单中呈现数据。在JavaFX 应用中对创建表格最重要的是TableView, TableColumn和TableCell这三个类。...在例子 12-1中, 表格组件被添加到 VBox  的布局容器中,然而你也可以直接将其添加到应用场景中。 例子 12-1定义了3列将用来存放地址簿的信息:一个联系人的 姓和名以及电子邮箱地址。...定义数据模型( Data Model) 当你要在JavaFx应用中创建一个表格,最好先创建一个类来定义数据模型和提供将来和表格交互的方法和属性。例12-3中定义了Person类来定义数据和地址簿。...默认是不排列。 用户可以对表格的多列进行排序,同样也可以指定每列数据在排序操作中的优先级。如果想多行排列,用户按住Shift的同时点击想要排序的每一列的列头。...将Map数据添加到表格中 从JavaFX SDK 2.2开始,你可以往表格中添加Map类型的数据。

11.4K20
  • Java FX制作小游戏

    Java FX制作小游戏在全栈学习Java中,了解如何使用Java FX创建图形化界面是很重要的一步。本篇文章将向您展示如何使用Java FX制作一个简单的小游戏。...下面是一些JavaFX的核心类的详细介绍:Application:Application是JavaFX应用程序的主类,它是所有JavaFX应用程序的入口点。...Stage:Stage表示JavaFX应用程序的主舞台,是JavaFX中顶级容器的实例。通过Stage类,可以设置应用程序的标题、尺寸、图标等属性,并将场景(Scene)设置为舞台的内容。...Control:Control是JavaFX中的控件类,用于构建用户界面上的可交互组件。常见的控件包括Button、Label、TextField、ComboBox、ListView等。...总结通过这篇文章,我们学习了如何使用Java FX创建一个简单的小游戏。我们了解了如何创建游戏窗口、处理用户输入以及显示游戏元素。

    43210

    躁!DJ 风格 Java 桌面音乐播放器

    ,是编译、运行 Java 程序的工具包。...四、JavaFx 工作原理 JavaFX 的原理是这样的(如下图):舞台(Stage),场景(Scene),容器(Container),布局(Layout)和控件(Controls)之间的关系: ?...在 JavaFX 中,Stage 是应用程序窗口,其中包含称为 Scene 的空间。Scene 包含界面的组件,如 UI 空间(按钮,输入框,复选框),容器等。...上面代码的意思是:创建一个面板,然后在面板上添加标签,输入框和按钮,并对按钮添加绑定事件,然后把这个面板添加到场景中,这个窗口就完成了。 五、最后 Java 桌面 DJ 音乐播放器是真的香!...有了成品的直观呈现,才能在视觉上产生更强的冲击,可能会更加能激发你的学习动力!如果通过我的内容分享,能让你对编程产生兴趣,我是真的开心。

    3.8K21

    Using JavaFX UI Controls 18 超链接

    组件 Hyperlink 类 是 Labeled 类的另一种形式。...图18-1 展示了默认超链接实现的3中状态 图 18-1 超链接组件的3中状态 创建一个超链接 例 18-1 中展示创建超链接的代码片段 例18-1 典型的超链接 Hyperlink link...因为 Hyperlink  类是Labeled类的一个拓展,你可以为标题设置特定的字体和文字。 setOnAction 方法用来指定超链接点击时的行为。...链接本地内容 在图18-2展示应用中从本地目录中渲染图片 图 18-2 显示图片 展示例 18-2的源代码: 例 18-2利用超链接浏览图片 import javafx.application.Application...下一节的程序将展示既使用标题也使用图片来创建超链接和加载远程html页面。 链接远程内容 在你的JavaFx程序中,通过嵌入WebView 浏览器组件来渲染 HTML内容。

    1.5K50

    Java一分钟之-设计模式:观察者模式与事件驱动

    观察者模式(Observer Pattern)和事件驱动编程是Java中实现组件间通信的两种重要方式。在这篇博客中,我们将探讨这两种模式的基本概念、常见问题以及如何通过代码示例来避免这些问题。 1....观察者模式 (Observer Pattern) 定义 观察者模式是一种行为设计模式,允许你定义一个订阅机制,当对象状态改变时,所有依赖它的对象都会得到通知并自动更新。...事件驱动编程 事件驱动编程是一种编程范式,其中程序响应用户输入、系统事件或其他异步触发的事件。 常见问题与易错点 回调地狱:过多嵌套的回调函数可能导致代码难以阅读和维护。...JavaFX事件驱动示例 import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler...; button.setOnAction(new EventHandler() { @Override public

    40910

    JavaFX 简介

    当然,虽然编写客户端图形程序是Java的弱项,但是Java并没有放弃这方面的努力。今天介绍的JavaFX就是Java在编写图形界面程序的最新技术。...这是官方的示例程序,我们可以参考JavaFX的部分来学习如何使用。下面是其中一个分形的JavaFX程序,点击上面的数字可以进入不同的微观展示,感觉有一种看病毒微观世界的感觉,很震撼。 ?...如何安装 只要你安装了最新版本的JDK 8,那么就可以使用JavaFX库了。如果没有安装的话,那么赶快开始安装吧。 快速上手 第一个程序 新建一个项目,然后编写如下的类,然后编译运行,即可看到结果。...如果有学习过Swing以及其他图形界面框架的经验的话,应该非常容易理解这段代码。当然由于JavaFX是新东西,所以我也顺便使用Java 8的新特性——lambda表达式。...用FXML设计用户界面 现代图形界面框架都支持将界面和代码分离开,而且比较常用的描述语言是XML,例如QT的QML、WPF的XAML,当然JavaFX也有类似的语言,叫做FXML。

    5.8K81

    JavaFX-TableView详解

    ,不过最重要的是清楚了一点:TableView内部是维护了一个类型为FXCollections.observableArrayList的集合。...列的两种数据形式: 一种是维护类的TableColumn类型,列的每一个数据都是一个类(这里是一个Person类),而String类型对应列名。...forTableColumn()); // 设置编辑响应的函数 col.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<Map...增加列,删除列 这就不仅仅要删除集合中的数据,还要从表格里面的Columns集合中删除相应的数据才可以,或许你还会在删除和增加中加入一定的判断来保证操作的正确性: table.getColumns()....add(tempCol); // 列表中显示新增的列 table.getColumns().remove(index); // 删除index位置的列 监听列的变化 你大可以选择向源文件中的那样

    3.5K60

    你还在用B端大模型?OUT 了!!!用混元打造专属智能化桌面应用

    同时,JavaFX 作为 Java 生态系统中功能强大的 UI 框架之一,凭借其丰富的组件和灵活的布局能力,逐渐成为构建桌面应用的首选工具。...本篇文章将详细讨论如何将 JavaFX 与混元大模型结合起来,构建一个智能化的桌面应用,用户可以通过该应用实时与混元大模型进行交互,实现类似智能对话的功能。...先上结果: 技术选型与整体架构 JavaFX 简介 JavaFX 是一个现代化的 UI 框架,允许开发者创建跨平台的桌面应用。...开发环境配置 安装和配置 JavaFX 在这里提一下,Java 8 中内置了JavaFX,但是从Java 9开始 JavaFX 不再包含在 JDK 中,而是作为一个独立的模块提供。...为了将这一响应显示到 JavaFX 界面中,需要将返回的文本解析并格式化为消息气泡。 在桌面应用程序中,保持用户界面的流畅性是至关重要的。当调用混元大模型时,可能会遇到网络延迟或响应时间较长的问题。

    44731

    Java 中文官方教程 2022 版(三)

    通过它们,您将学习如何编写代码来在您自己的程序中创建和使用对象。您还将了解系统在对象的生命周期结束时如何清理。...匿名类表达式被突出显示: import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene...import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler...在 JavaFX 示例HelloWorld.java(在上一节匿名类中讨论)中,您可以在此语句中用 Lambda 表达式替换突出显示的匿名类: btn.setOnAction(new EventHandler...因此,Java 编译器生成类似于“定义在封闭范围中的局部变量 z 必须是 final 或有效 final”的错误消息。 目标类型 如何确定 lambda 表达式的类型?

    34000

    JavaFX入门(四):JavaFX布局(一)

    布局控件我们在界面上一般是看不到的,它一个容器用于放置其它可视的界面元素控件。(JavaFX在线API文档:JavaFX8 API Online) JavaFX布局控件的类图如下: ?...当我们将一个控件拖拽到Pane中的时候,会自动生成layoutX和layoutY坐标。如图是使用Pane为父容器设计的一个简单界面: ? FXML代码如下: 的一个用例场景就是,软件主界面的上面是菜单栏和工具条,左边和右边可能是文档或者内容列表或者常用的工具集合,然后中间是主要内容显示区,下面是状态栏。...GridPane GridPane有点像HTML中的Table布局,属于比较灵活的布局方式。默认情况下,控件均匀分布在Grid或者说Table中。但是我们可以指定一个控件所占的行列,让其跨行和列分布。...在我们用SceneBuilder设计界面的时候,自动生成的FXML文件中的实体元素和属性是和JavaFX中的类和属性是对应的,我们可以通过FXML了解对应类的一些属性和方法。

    11.9K42
    领券