User interface 要在其他视图中标记的javafx文本字段值
我从学校得到一个通知,我必须在一个视图中读两个名字,然后我们必须按下一个按钮进入另一个视图,然后这两个名字必须出现在标签中。我已经试着这么做了一段时间,但由于某种原因,我想不出来 这是我在第一个视图中的代码User interface 要在其他视图中标记的javafx文本字段值,user-interface,javafx,label,textfield,User Interface,Javafx,Label,Textfield,我从学校得到一个通知,我必须在一个视图中读两个名字,然后我们必须按下一个按钮进入另一个视图,然后这两个名字必须出现在标签中。我已经试着这么做了一段时间,但由于某种原因,我想不出来 这是我在第一个视图中的代码 public class Startview extends GridPane { private TextField txtplayer1; private TextField txtplayer2; private Button play; this.txtplayer1
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();
}
});
感谢所有帮助或提示就像@James\u D所说的,只需使用模型中的功能即可。在startview中使用玩家类中的setName,在gameview中使用玩家类中的getName。既然您似乎使用的是MVP设计,您有模型吗?你可以把玩家的名字放在模型中……除了@James_D所说的,这个赋值似乎是针对绑定属性的。有很多教程,可以向你解释这一点。官方版本可以找到哦,是的,你必须使用模型中的setplayer和getplayer。由于某种原因,唯一不起作用的是从txtplayer1获取值。它不接受getter/
private Label name1;
private Label name2;
public Label getname1() {
return Name1;
}
public Label getName2() {
return Name2;
}