1

是否可以控制其他外部类中的变量、jcomponents、计时器等实例?

例如这是我的 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[]) {
        //
    }
}

可能吗?对不起。我在其他网站上找不到答案。

4

1 回答 1

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
    }
于 2013-08-10T08:08:04.580 回答