从其他类控制JComponents

时间:2013-08-10 08:03:52

标签: java swing constructor jcomponent instances

是否可以在其他外部类中控制变量,jcomponents,timer等实例?

例如,这是我的Class1

public class Class1 extends JFrame {
    JLabel lbl = new JLabel("Hello");
    public Class1() {
        super("Class1");
        Container c = getContentPane();
        setLayout(null);
        c.add(lbl);
        lbl.setBounds(0,0,100,20);
        Class2.process();
        setSize(200,100);
        setLocationRelativeTo(null);
        setVisible(true);
    }
    public static void main(String var[]) {
        new Class1();
    }
}

你可以看到有Class2.process(); 这是外部的另一个类,但在同一个文件夹中

public class Class2 {
    public static void process() {
        // I want to control lbl from Class1 class inside this method like
        // lbl.setVisible(false);
    }
    public static void main(String args[]) {
        //
    }
}

有可能吗?抱歉。我在其他网站上找不到答案。

1 个答案:

答案 0 :(得分:2)

你必须传递JLabel的实例,例如;

JLabel lbl = new JLabel("Hello"););
Class2.process(lbl);


public class Class2 {
    public static void process(JLabel lbl) {
        // I want to control lbl from Class1 class inside this method like
        lbl.setVisible(false); // this will change your Class1 Jlabel
    }