【问题标题】:javafx textfield value to label in other view在其他视图中标记的 javafx 文本字段值
【发布时间】:2016-06-17 03:34:58
【问题描述】:

我从学校接到了一个作业,我必须在一个视图中读取两个名字,然后我们必须按下一个按钮转到另一个视图,然后两个名字必须在一个标签中出现。我一直在尝试这样做一段时间,但由于某种原因我无法弄清楚。

这是我在第一个视图中的代码

    public class Startview extends GridPane {    
private TextField txtplayer1;
private TextField txtplayer2;
private Button play;
this.txtplayer1 = new TextField();
this.txtplayer2 = new TextField(); 
this.add(txtplayer1,2,1);
this.add(txtplayer2, 2, 2);
this.add(play, 2, 3);
public Button getplay() {
    return play;
}

这是我编写动作的演示器上的代码

private void eventHandlers() {
    view.getplay().setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            Gameview gameview = new Gameview();
            Gamepresenter presenter3 = new Gamepresenter(model, gameview);
            view.getScene().setRoot(gameview);
            gameview.getScene().getWindow().sizeToScene();
            gameview.getScene().getWindow().centerOnScreen();


        }
    });

以及标签所在的游戏视图(也在网格窗格上)

private Label name1;
private Label name2;
public Label getname1() {
    return Name1;
}

public Label getName2() {
    return Name2;

}

感谢所有帮助或提示

【问题讨论】:

  • 既然你好像在用MVP设计,那你有模型吗?您可以将玩家名称放入模型中...
  • 除了@James_D 所说的之外,这个任务似乎旨在绑定属性。那里有很多教程,将向您解释这一点。官方可以找到here
  • 哦,是的,您必须使用模型中的 setplayer 和 getplayer。由于某种原因,唯一不起作用的是从 txtplayer1 获取值。它不接受吸气剂。 ://

标签: user-interface javafx label textfield


【解决方案1】:

就像@James_D 所说,只需使用模型中的函数即可。在您的 startview 中使用您的 player-class 中的 setName,在 gameview 中使用您的 player-class 中的 getName。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 2014-04-27
    相关资源
    最近更新 更多