javafx窗口跳转时传递对象
时间: 2023-05-04 11:02:06 浏览: 128
在JavaFX中,如果需要在窗口之间传递对象,则可以通过以下步骤实现:
1. 创建一个可序列化的对象,该对象需要实现Serializable接口。
2. 在需要传递该对象的窗口中,创建一个public的对象属性,用于存储该对象。
3. 在需要跳转的窗口中,创建一个构造函数,该构造函数需要接收需要传递的对象作为参数,并将其赋值给对应的对象属性。
4. 实例化需要跳转的窗口,并将需要传递的对象作为参数传入构造函数中。
5. 跳转到对应的窗口,此时该窗口中的对象属性就可以访问传递过来的对象了。
例如,我们有一个名为Student的类,并且需要在两个窗口之间传递Student对象。那么可以按照以下步骤实现:
1. Student类需要实现Serializable接口:
public class Student implements Serializable {
private String name;
private int age;
//省略getter和setter方法
}
2. 在第一个窗口中创建一个public的对象属性:
public class FirstWindowController {
public Student student;
//省略代码
}
3. 在第二个窗口中创建一个构造函数,接收需要传递的Student对象作为参数:
public class SecondWindowController {
private Student student;
public SecondWindowController(Student student) {
this.student = student;
}
//省略代码
}
4. 实例化第二个窗口,并将需要传递的Student对象作为参数传入构造函数中:
FXMLLoader loader = new FXMLLoader(getClass().getResource("secondWindow.fxml"));
SecondWindowController controller = new SecondWindowController(student);
loader.setController(controller);
Parent root = loader.load();
5. 跳转到第二个窗口,此时该窗口中的student属性就可以访问传递过来的Student对象了。
阅读全文