HY,
我想在JavaFX中设置第二个Controller的标签文本。
我有一个名为GUI.fxml的阶段和一个Controller_GUI.java,我有一个名为Login.fxml的阶段和一个Controller_Login.java。
在GUI界面,我打开登录界面,点击登录按钮放入我的数据。然后Controller_Login进行登录。在GUI.xml之后,我想将Label文本更改为“已连接”,但是它是从Controller_GUI.java控制的,而Label必须被称为非静态,另一种方式是它不会设置Label而我会得到一个“Null”错误消息。
有没有办法绕过这个或一个非常棘手的解决方案来设置Label文本?
GUI.xml
<Label fx:id="labelConnected" contentDisplay="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="20.0" text="Disconnected" />
Controller_Login.java
public void buttonLoginGuiLogin(ActionEvent event) throws IOException {
if (GUI.Login_Interface.Login(textfieldLoginGuiEMail.getText(),textfieldLoginGuiPassword.getText())) {
// set the label text
((Node)(event.getSource())).getScene().getWindow().hide();
}
else {
labelLoginMessage.setText("Wrong E-Mail or Password.");
}
}
Controller_GUI.java
@FXML public Label labelConnected;