将字符串转换为javafx中的fx:id

时间:2018-11-28 14:35:45

标签: java javafx

有 我是JavaFX的新手,想问一下是否有一种将字符串转换为类似于C#的fx:id的方法。 我想编写一个从服务器获取字符串的方法。借助该字符串,GUI中应为矩形着色。 我已经尝试过使用forName将字符串转换为类。并使用“ Class”扩展此类。

        @FXML
public void changeColorOnMouseClicked(String a, String b, String color, int c) throws Exception{


    StringBuilder track = new StringBuilder();
    track.append(a);
    track.append(b);
    track.append(Integer.toString(c));

    Class<? extends Rectangle> c = (Class<? extends Rectangle>) Class.forName(track);

    switch (color){
        case "BLUE":
            c.setFill(javafx.scene.paint.Color.BLUE);
            break;
        case "RED":
            c.setFill(javafx.scene.paint.Color.RED);
            break;
        case "GREEN":
            c.setFill(javafx.scene.paint.Color.GREEN);
            break;
        case "YELLOW":
            c.setFill(javafx.scene.paint.Color.YELLOW);
            break;
        case "BLACK":
            c.setFill(javafx.scene.paint.Color.BLACK);
            break;
        default:
            System.out.println("übergebene Farbe hat nicht gepasst");
    }


}

感谢您的帮助

0 个答案:

没有答案