我是编程新手。我现在的问题是,我想要求用户在TextField中给出他的名字,并在另一个BoardGame类中使用该值(name)。例如,第一个窗口询问他的名字,第二个窗口在游戏中使用它。
<<p>我的视图/strong>类(第一个窗口)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;
}
我的<<p> strong>最后类(第二个窗口):
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"而不是名称,因为我把它硬编码在那里,但我怎么能让它成为他们的输入(名称)呢?
我建议您使用SceneBuilder,它将向您展示所有可用的FX组件,并使您更容易设计UI。
这需要一些研究,因为你将需要一个控制器等(例如:http://tutorials.jenkov.com/javafx/fxml.html)
然而,如果你想让你的用户能够输入,Java FX提供了警报对话框。
您可以在这里看到一个很好的使用示例:https://code.makery.ch/blog/javafx-dialogs-official/