使用Java,Netbeans。
所以我有一个 JFrame [1] 对象,这个类的构造方式并不重要。在这个JFrame对象中,有一个按钮可以在单击时触发事件,并在用户提供输入的位置出现一个新窗口。在这个不同的 JFrame [2] 对象的新窗口中存储输入数据,当用户在第二个窗口中单击完成时,如何在第一个窗口对象中使用此数据?
所以我的最终问题是,如何将数据发送回课程?我有一个指向第二个窗口对象的引用,但是我的解决方案需要运行两个线程,一个用于检查窗口何时处理,另一个用于保持窗口运行。我认为这不是最佳方式,有人可以帮忙吗?
[1] =第一个窗口;
[2] =第二个窗口;
这是构造第二个类的第一个类中的代码。
/**
*
* @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);
}
第二个类只是一个带有String值和两个整数值的JFrame对象。在处理了createNewObjectWindow后,如何使用此类中发布的数据?
答案 0 :(得分:1)
重点是:为了“交换”任何东西,需要做两件事:
如果我做对了,你的1级就会
CreateNewObjectWindow createNewObjectWindow = new CreateNewObjectWindow();
createNewObjectWindow.setVisible(true);
和createNewObjectWindow是第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基础知识。看起来你打算建一座房子,但你不知道如何拿着铲子去挖地下室的洞。