【发布时间】:2017-03-14 06:07:38
【问题描述】:
好的,这是我的困境。我正在尝试使用 TextFields 和其他元素创建一个 JavaFX 表单。但是现在,我需要知道如何实现一个实时填写的表单。
理论上,例如假设我有两个 TextField。
TextField textfield1 = new TextField();
TextField textfield2 = new TextField();
第二个文本字段取决于在第一个文本字段中输入的任何值。一旦用户在第一个上完成输入,第二个就会被填充一个值。
if(!textfield.getText().equals("")) {
textfield2.setText("blah, blah, blah");
}
举一个真实的例子,假设我正在制作一个工资单系统。 用户输入员工的基本工资(在第一个文本字段中),然后输入员工月薪的值:基本工资 * 2(在第二个文本字段中)。
第二个是不可编辑的,只有第一个是。很确定我需要在第一个字段上使用某种事件处理程序,但我真的对如何编写或编写什么代码感到困惑。顺便说一句,我是 JavaFX 的新手。任何帮助将不胜感激。
更新:我在这个上使用了 Scenebuilder(对不起,我忘了包括那个)。因此,每个元素的侦听器都被分组到控制器中定义的函数中。自从我废弃 Swing(和 Windowbuilder),顺便使用 Eclipse 后,使用内部类对我来说感觉很奇怪。我想保持代码约定全面一致。
【问题讨论】:
-
“一旦用户在第一个上完成输入”......所以没有更新你继续......可能失去焦点?
-
这也是我的假设,因为表单上的标签顺序很常见。我的问题是实施。我一生都无法理解,到目前为止,我只需要处理按钮和组合框事件,这在场景构建器上非常容易。
标签: java javafx-8 real-time textfield