带控制器按钮的JAVAFX

时间:2017-05-05 13:48:45

标签: java button javafx controller

我试图从控制器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按钮被解锁,所以程序可以继续。

0 个答案:

没有答案