我想访问一个属于我的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);
}
}
这比创建一个单独的类更有意义吗?
答案 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);
}
}