【发布时间】:2020-08-08 16:44:05
【问题描述】:
Intellij IDEA + Oracle JDK 14 + JavaFX 14
我正在制作一个简单的 JavaFX 计算器风格的应用程序,并使用 SceneBuilder。
除了引用单个唯一的fx:id 之外,是否有更简单的方法来引用 SceneBuilder 构建的应用程序中的字段?例如,如果我有一个在 SceneBuilder 中构建的 UI,其中包含一些数据行和列:
---------------------
| field00 | field01 |
| field10 | field11 |
---------------------
我想对数据做一些数学运算。除了引用静态名称之外,还有更简单的方法来引用字段吗?
@FXML private TextField field00;
@FXML private TextField field01;
@FXML private TextField field10;
@FXML private TextField field11;
我正在做一些超级幼稚的事情,例如:if field00 is not null and if field01 is not null and ...。我通过创建一个类来表示每一行,并将这些对象读入一个 ArrayList ,但我创建对象的代码仍然很丑陋,例如:
RowList myRowList = new RowList();
MyRowClass aRow =
new MyRowClass(
Double.parseDouble(field00.getText()),
Double.parseDouble(field01.getText()));
myRowList.addRow(aRow);
aRow =
new Assignment(
Double.parseDouble(field10.getText()),
Double.parseDouble(field11.getText()));
myRowList.addRow(aRow);
我希望能够以某种方式遍历字段。
另外,我想在 UI 中添加一个“添加行”按钮,并将该行包含在计算中,这会在混合中引入一些非静态命名的字段。
这里的解决方案是跳过 SceneBuilder 并直接在我的代码中创建 UI 吗?
【问题讨论】:
标签: java javafx scenebuilder