我有一个为使用JavaFX和Scene Builder设计的课堂日历屏幕。
我放置数字的部分是标签,而当前表示“无”的部分是按钮。选择按钮时,我想引用标签中的值,以便可以为当天的用户显示约会。
是否有通过FX:ID字符串名称引用控件的方法,所以我可以这样做?标签称为lblDayOfTheWeekxx,按钮称为btnAppointmentxx,其中xx是从01到42的值。]
这是我尝试更改值的方法。这只是一个测试,我试图将第一个按钮的值设置为“ DONE”。
@FXML void handleDayChosen(ActionEvent event) { try { // FXMLLoader loader = new FXMLLoader(); // loader.setLocation(getClass().getResource("/Views/FormMain.fxml")); // Parent myView = loader.load(); // Scene myScene = new Scene(myView); // Label lbl = (Label) myScene.lookup("#lblDateOfMonth01"); // Label myLblField = (Label)myView.FindControl("txtField" + 1); // lbl.setText("DONE"); FXMLLoader loader = new FXMLLoader(getClass().getResource("/Views/FormMain.fxml")); Parent root = loader.load(); Button foo = (Button)loader.getNamespace().get("lblAppointments01"); foo.setText("DONE"); } catch (Exception ex) { System.out.println(ex.getMessage()); } }
我是Java的新手,所以我不知道自己在做什么错。
谢谢,
比尔
我有一个为使用JavaFX和Scene Builder设计的课堂日历屏幕。我放置数字的部分是标签,而当前表示“无”的部分是按钮。我想...
这样的UI根本不适合FXML。使用Java创建这样的UI通常更容易,代码也更少。这样,您可以在循环中创建按钮和标签,并为每个按钮添加一个不同的事件处理程序: