【发布时间】:2021-11-23 08:25:18
【问题描述】:
我正在尝试使用 JavaFX 配置一个小型 GUI。在开始时,可以使用两个文本字段提供有关日期和时间(当您工作时)的一些信息。 下方有一个复选框,您可以检查是否要“选择更多天数?”。
现在我要启用两种可能性:
a) 当您选中该框时,您可以看到更多文本字段以授予有关不同日期的更多信息
b) 当你错误地选中该框时,当该框未被选中时文本字段应该消失并且屏幕与开始时相同
我已经有了以下部分代码。当我选中该框时,我可以看到更多的文本字段,但是当未选中该框时,文本字段仍然存在。
CheckBox moreDays= new CheckBox("Choose more days?");
EventHandler<ActionEvent> showMoreLabels = new EventHandler<ActionEvent>() {
public void handle(ActionEvent e)
{
if (moreDays.isSelected()) {
Label dayTwo= new Label("Day Two:");
pane.add(dayTwo, 0, 7);
final TextField secondDay = new TextField();
pane.add(secondDay, 1, 7);
Label dayThree= new Label("Day Three:");
pane.add(dayThree, 2, 7);
final TextField thirdDay= new TextField();
pane.add(thirdDay, 3, 7);
} else {
}
}
};
moreDays.setOnAction(showMoreLabels);
我试图创建一个if-else-statement,当检查复选框时,应显示文本字段,如果语句是false,则不会看到文本字段。但如前所述,它不起作用。我希望有人可以帮助我。
提前致谢!
【问题讨论】:
-
` else { pane.getChildren().removeAll(dayTwo, secondDay, dayThree,thirdDay); }`,这些控件的范围发生了明显的变化。
标签: user-interface javafx checkbox actionevent