JavaFX:如何从Main中的Controller调用方法

时间:2018-04-05 20:16:28

标签: javafx controller chess gridpane

我想从JavaFX中Main类的main方法调用Controller中的方法getRow()。我真的不知道如何使用JavaFX所以我甚至不知道你是否应该对Controller做些什么。

public class Controller {

    public Button button00 = new Button();

    public int getRow(){
        return GridPane.getRowIndex(button00);
    }
}

我在JavaFX中制作国际象棋(带有64个按钮的GridPane),但我已经将国际象棋作为普通的Java项目制作,因此我想以某种方式使其适用于JavaFX。但我的原始代码需要所选游戏片的位置(在那里从控制台输入)所以我试图获得所选按钮的位置。但是我在主要方法中需要这个位置而且我不知道如何获得它。

1 个答案:

答案 0 :(得分:0)

您可以从FXMLLoader获取Controller:

//loading scene fxml
FXMLLoader loader = new FXMLLoader(Main.class.getResource("your_path.fxml"));
Parent sceneFXML = loader.load();
//getting controller object
Controller ctrl = (Controller)(loader.getController());

现在,您可以从ctrl访问所需的属性或方法。

ctrl.getRow();