首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对象传递给swing GUI

将对象传递给swing GUI
EN

Stack Overflow用户
提问于 2013-06-19 20:50:43
回答 1查看 631关注 0票数 0

我有5-6个GUI (独立的类),一个根据它们的功能打开另一个,每个GUI都有一个对象在里面,当从Book_GUI.java的座位选择菜单中点击一个JButton“书”时,我把像这样的航班预订系统中的最后一个对象传递给我的图形用户界面

代码语言:javascript
复制
Passenger_GUI frameP = new Passenger_GUI(eco.seats[x][z].getMyPassenger());
frameP.setVisible(true);    
eco.seats[x][z].setBooked(true);

在Passenger_GUI.java中,我有:

代码语言:javascript
复制
        private Passenger passenger_GUI;

稍后在构造函数中,在不初始化passenger_GUI的情况下,我将输入Passenger对象赋值给它:

代码语言:javascript
复制
public Passenger_GUI(Passenger myPassenger) {
    passenger_GUI = myPassenger;

一切正常,没有错误...我有两个问题,我是必须先初始化passenger_GUI,然后再进行赋值,还是没有必要?第二个重要的问题是:我在Passenger_GU to object myPassenger(eco.seats[x][z].myPassenger)中所做的更改是否会被保存在之前的图形用户界面Book_GUI.java中,我想不是因为Passenger_GUI类没有返回值...或者我错了?我如何才能使我在对象上应用的更改稳定并在未来的Book_GUI.java中使用?(以前的图形用户界面)谢谢您的宝贵时间!

这里是完整的类:http://www.copypastecode.com/643018/ http://www.copypastecode.com/643022/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-19 21:04:25

  1. 不,你只需要在你的constructor.
  2. The中初始化passenger_GUI就可以了。由于您向Passenger_GUI构造函数传递的是Object而不是原语,因此Java实际上传递了对该Passenger对象的引用。您的Passenger_GUI.passenger_GUI字段应该引用与eco.seats[x][z].getMyPassenger()相同的对象(实际上,在内存中的相同位置),因此在Passenger_GUI中对该对象所做的任何更改也应该在Passenger_GUI中可见
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17191661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档