我是javafx的新手,我想将variable values
从一个控制器转移到另一个控制器,我不知道如何做到这一点。所以请帮助我。
例如:
我想显示从first login window
到second dashboard window
的用户名,那么我应该如何将userid保存在一个变量中并将其发送到第二个窗口并以label
显示在那里。
代码测试:
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.layout.AnchorPane;
/**
* FXML Controller class
*
* @author wabcon
*/
public class AdmissionController implements Initializable {
int userid=0;
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
userid=10001;
}
}
如何将此userid
发送到下一个窗口控制器。
请帮我。
谢谢。
答案 0 :(得分:1)
我假设您正在为自定义组件执行此操作。
因此,您为自定义组件创建了一个类,并将该类设置为控制器:
public class CustomControl extends AnchorPane implements Initializable {
String customId;
public CustomControl() {
//if you want to set a FXML
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/res/customControl.fxml"));
//Defines this class as the controller
fxmlLoader.setRoot(this);
//this.getStylesheets().add("/res/style.css"); <- if you want to set a css
fxmlLoader.setController(this);
try {
fxmlLoader.load();
} catch (IOException exception) {
throw new RuntimeException(exception);
}
}
public String getCustomId() {
return customId;
}
public void setCustomId(String customId) {
return this.customId = customId;
}
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
//Initializes the controller
}
}
在您的MainController上:
CustomControl c = new CustomControl();
c.setCustomId("StackOverflow");