使用Java, Netbeans。
所以我有一个JFrame[1]对象,它真的不关心如何构造类。在这个JFrame对象中,有一个按钮,当单击时触发一个事件,并出现一个新窗口,用户在其中输入一些内容。在这个新窗口中,输入数据存储在不同的JFrame[2]对象中,当用户在第二个窗口中单击完成时,我如何在第一个窗口对象中使用该数据?所以我的最终问题是,我如何将数据发送回类?我有一个指向第二个窗口对象的引用,但是我的解决方案需要两个线程正在运行,一个检查窗口何时处置,另一个保持窗口运行。我不认为这是最好的方法,有人能帮忙吗?
[1] = first window;
[2] = second window;
下面是第一个类中构造第二个类的代码。
/**
*
* @param evt gets created when buttonObjectCreate is clicked. Creates a new
* window for constructing a new GameCreator object.
*/
private void buttonObjectCreateActionPerformed(java.awt.event.ActionEvent evt) {
CreateNewObjectWindow createNewObjectWindow = new CreateNewObjectWindow();
createNewObjectWindow.setVisible(true);
}
第二个类只是一个JFrame对象,包含一个String值和两个整数值。在createnewobjectwwindow被处理后,我如何使用在类中释放的数据呢?
关键是:为了"交换"任何东西,需要两个条件:
- 对象之间要交换一些东西,需要互相认识…
- 以便他们可以在某个时候调用其他对象的方法(或者糟糕的风格:只是写入其他对象的字段)。
如果我做对了,你们班就做对了
CreateNewObjectWindow createNewObjectWindow = new CreateNewObjectWindow();
createNewObjectWindow.setVisible(true);
和createnewobjectwwindow是类2的对象,应该返回
显然,那个实例是在那个方法中创建的;之后就把它扔掉了。如果您真的想知道该对象是否对所创建的对象有用,您需要这样做:
class A {
private B myB;
public void doSomething() { ... }
public void createB() {
myB = new B(this);
}
}
class B {
private A daddy;
public B(A myDaddy) { this.daddy = myDaddy };
public void doSomethingWithA() { daddy.doSomething(); }
}
基本上,这就是它的全部内容。如果你的问题真的是你不知道如何做这些事情;然后提示:现在不要编写Swing UI应用程序。相反,学习Java基础知识。你好像打算盖一所房子,但你还不知道怎么拿铲子挖地下室的洞。