将数据发送回java类?

时间:2016-09-08 20:43:27

标签: java netbeans

使用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后,如何使用此类中发布的数据?

1 个答案:

答案 0 :(得分:1)

重点是:为了“交换”任何东西,需要做两件事:

  1. 交换东西的对象,需要彼此了解......
  2. 以便他们可以在某个时间调用该其他对象的方法(或者错误的样式:只写入该另一个对象的字段)。
  3. 如果我做对了,你的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基础知识。看起来你打算建一座房子,但你不知道如何拿着铲子去挖地下室的洞。