【发布时间】: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