我试图从控制器2中的控制器1到达1个按钮,按钮不是静态的,所以我无法联系到他喷射:/
public class NeuesSpielController {
@FXML
public Button sStarten;
@FXML
public Button farbeAuswaehlen;
public void farbeAuswaehlen() throws IOException, InterruptedException {
Stage test = new Stage();
AnchorPane test2 = FXMLLoader.load(getClass().getResource("Farbwahl.fxml"));
test.setScene(new Scene(test2));
test.setMinHeight(200.00);
test.setMinWidth(400.00);
test.show();
}
这是我的第二个控制器
public class FarbwahlController {
private MainController main;
@FXML
Button blau;
@FXML
Button rot;
@FXML
Button schwarz;
@FXML
Button weiss;
@FXML
Button gruen;
@FXML
Button gelb;
@FXML
Label bannerFarbe;
static Spielfigur figur;
public void initialize() throws IOException {
figur = NeuesSpielController.getSpielfigur();
if (figur != null) {
if (figur.farbe == null) {
bannerFarbe.setText(figur.spielernameKomplett() + " " + bannerFarbe.getText());
}else{
FXMLLoader loader = new FXMLLoader(getClass().getResource("NeuesSpiel.fxml"));
NeuesSpielController controller = loader.getController();
weiss.getScene().getWindow().hide();
在这个地方我想从控制器1到达“sStarten”按钮,这样我就可以解锁它
controller.sStarten.setDisable(true);
}
}
@FXML
public void wahlBlau() throws IOException {
if (figur.farbe == null) {
figur.farbe = Farbe.BLAU;
}
blau.setDisable(true);
NeuesSpielController.setSpielfigur(figur);
initialize();
}
public void wahlGelb() throws IOException {
if (figur.farbe == null) {
figur.farbe = Farbe.GELB;
}
gelb.setDisable(true);
NeuesSpielController.setSpielfigur(figur);
initialize();
}
public void wahlGruen() throws IOException {
if (figur.farbe == null) {
figur.farbe = Farbe.GRUEN;
}
gruen.setDisable(true);
NeuesSpielController.setSpielfigur(figur);
initialize();
}
public void wahlRot() throws IOException {
if (figur.farbe == null) {
figur.farbe = Farbe.ROT;
}
rot.setDisable(true);
NeuesSpielController.setSpielfigur(figur);
initialize();
}
public void wahlSchwarz() throws IOException {
if (figur.farbe == null) {
figur.farbe = Farbe.SCHWARZ;
}
schwarz.setDisable(true);
NeuesSpielController.setSpielfigur(figur);
initialize();
}
public void wahlWeiss() throws IOException {
if (figur.farbe == null) {
figur.farbe = Farbe.WEISS;
}
weiss.setDisable(true);
NeuesSpielController.setSpielfigur(figur);
initialize();
}
public void init(MainController mainController) {
main = mainController;
}
}
理念是按下“farbeAuswaehlen”按钮,而不是新舞台开放,玩家可以选择颜色。当每个人都选择了他的颜色时,窗口消失,sStarten按钮被解锁,所以程序可以继续。