首页 > 解决方案 > Javafx:如何将方法从一个类调用到另一个类?

问题描述

我是编程新手。我现在的问题是我想要求用户在 TextField 中给出他的名字,并在另一个 BoardGame 类中使用该值(名称)。例如,第一个窗口询问他的名字,第二个窗口在游戏中使用它。

我的视图类(第一个窗口)

public class View extends BorderPane {

public TextArea player1;
public Label name1;

public View(){
    super();
    initializeNodes();
    layoutNodes();
}

public void initializeNodes() {
    player1 = new TextArea();
    name1 = new Label ("Player 1: ");

}
public void layoutNodes() {
    player1.setPrefSize(100,20);
    naam1.setPrefSize(60,40);

    HBox hBox = new HBox(name1,player1);
    TextField nameField;
    nameField = new TextField();
    nameField.setPrefHeight(70);
    player1.getText();
}
EventHandler<ActionEvent> e = new EventHandler<ActionEvent>() {
    public void handle(ActionEvent e)
    {
        player1.setText(name1.getText());
    }
};
public TextArea getPlayer1() {
    return player1;
}

我的棋盘游戏课(第二个窗口):

public class Boardgame extends BorderPane{
private Label lblPlayer1;
private View view;


public Boardgame(){
    super();
    initializeNodes();
    layoutNodes();
}

private void initializeNodes() {
    super.setPrefSize(900,700);
    lblPlayer1 = new Label("Player 1");
    

}

private void layoutNodes() {
    VBox vBox = new VBox(lblPlayer1);
}

唯一可行的是我得到“玩家 1”而不是名字,因为我把它硬编码在那里,但我怎样才能让它成为他们的输入(名字)?

标签: javacssclassjavafxinput

解决方案


我推荐你使用 SceneBuilder,它会显示所有可用的 FX 组件,让你更容易设计 UI。

它需要一些研究,因为您需要一个控制器等(例如:http: //tutorials.jenkov.com/javafx/fxml.html

但是,如果您想要一种用户能够输入的方式,Java FX 提供了警报对话框。

你可以在这里看到一个很好的例子:https ://code.makery.ch/blog/javafx-dialogs-official/


推荐阅读