我是JavaFX的初学者,我很震惊。我做了以下 -
我有一个主要的舞台,有按钮
btnShow.setOnAction(e->{
String finalList="";
for (int sub=0;sub<finalArrayList.size();sub++){
Worker worker=finalArrayList.get(sub);
finalList+=worker.getName()+"\t";
finalList+=worker.getCity()+"\n";
}
StageTwo(finalList);
});
以下是我想从主舞台上打电话的另一个阶段
public class StageTwo extends Stage {
private TextArea txtDisp=new TextArea();
private StackPane stack=new StackPane(txtDisp);
private Scene scene= new Scene(stack,700,300);
public StageTwo(String finalList){
txtDisp.setText(finalList);
setTitle("Display Workers");
setScene(scene);
}
答案 0 :(得分:1)
要从另一个阶段开始一个新阶段,只需实例化阶段对象,然后调用show()
方法。
所以这段代码:
btnShow.setOnAction(e->{
String finalList="";
for (int sub=0;sub<finalArrayList.size();sub++){
Worker worker=finalArrayList.get(sub);
finalList+=worker.getName()+"\t";
finalList+=worker.getCity()+"\n";
}
StageTwo(finalList);
});
应更改为此代码:
btnShow.setOnAction(e->{
String finalList="";
for (int sub=0;sub<finalArrayList.size();sub++){
Worker worker=finalArrayList.get(sub);
finalList+=worker.getName()+"\t";
finalList+=worker.getCity()+"\n";
}
//create a new instance and call the show method
new StageTwo(finalList).show();
});
现在,当点击按钮时,将显示StageTwo。
如果您想了解更多内容以了解各个阶段的工作情况,我会推荐这篇文章https://docs.oracle.com/javase/8/javafx/api/javafx/stage/Stage.html。