首页 > 解决方案 > 如何在另一个正在运行的类中调用函数?

问题描述

所以我有一个JFrame,然后当我单击一个按钮时,它会JFrame在另一个类中用一个简单的ActivityWindow.main(new String[] {""});. 然后,当我退出 createdJFrame时,我需要更新第一个JFrame,因为数据已更改。我想知道的是,如何JFrame从创建的JFrame类中调用第一类的函数?就像,我知道我可以做类似的事情MainWindow.read();read()函数在哪里),但是执行这个类中的函数,而不是那个。

JFrame也不能为第一个自动更新设置一个计时器。

标签: javaswingfunctionclassjframe

解决方案


  1. public在第一个 JFrame 中创建一个方法。

    public void changesToFrame(){
         ....
    }
    
  2. 创建另一个实例变量来保存父 JFrame 和第二个中的另一个构造函数JFrame

    JFrame jf1; 
    
    public NewJFrame(JFrame jf1){
        this(); //calls the default constructor
        this.jf1 = jf1;
    }
    
  3. JFrame现在在创建第二个时传递父级。

    JFrame jf2 = new JFrame2(this);
    
  4. 然后你可以简单地在第二个changesToFrame()中调用第一个的方法JFrame

    jf1.changesToFrame();
    

推荐阅读