GUI对象是否应在单独的java类中声明才能访问

时间:2016-11-01 13:05:09

标签: java swing

我想访问一个属于我的GUI类的变量。我应该在GUI类之外实例化我的GUI类吗?现在它在main中被实例化,我相信它让我无法访问。

这是访问此类中的变量以在另一个类中实例化此对象的最佳方法,并且该类为其创建getter和setter?

public class NormalDistributionUI extends JFrame {
    public static void main(String args[]) {
         new NormalDistributionUI().setVisible(true);
    }
}

应该是这样的。

public class Main {
    static NormalDistributionUI ndUI;

    public NormalDistributionUI getndUI() {
       return ndUI;
    }

    public static void main(String args[]){
        ndUI = new NormalDistributionUI();
    }
}

编辑:一个不同的想法

    public class NormalDistributionUI extends JFrame {
        static NormalDistributionUI ndUI;
        public static void main(String args[]) {

             ndUI = new NormalDistributionUI()
             ndUI.setVisible(true);
        }
    }

这比创建一个单独的类更有意义吗?

2 个答案:

答案 0 :(得分:0)

这取决于你想要什么。假设您在其他地方调用方法setVisible,第二种方法也可以正常工作。

两者之间的区别在于,在第二种情况下,GUI对象将被命名,因此可以在之后访问。在第一种情况下,它是匿名的。

答案 1 :(得分:0)

您不需要一个完整的单独课程。第一个很好。如果要操作NormalDistributionUI对象,可以使用局部变量。

public class NormalDistributionUI extends JFrame {
    public static void main(String args[]) {
         NormalDistributionUI ndUI = new NormalDistributionUI();

         ndUI.setSomeProperty(foobar);
         ndUI.setVisible(true);
    }
}