我是新来的JavaFX,我想传递variable values
从一个控制器到另一个,我不知道如何做到这一点。 所以请帮助我。
例如:
我希望显示的用户名first login window
,以second dashboard window
所以我应该怎么做才能挽救一个变量的用户ID,并将其发送到第二个窗口,并在那里显示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
到下一个窗口控制器。 请帮我。 谢谢。
我假设你正在为一个自定义组件这样做。
所以,你创建一个类为您的自定义组件,并设置类作为控制器:
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");
文章来源: javafx how to transfer variable values from one controller to another [duplicate]