【问题标题】:Controlling JComponents from other classes从其他类控制 JComponent
【发布时间】:2013-08-10 08:03:51
【问题描述】:

是否可以在其他外部类中控制变量、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[]) {
        //
    }
}

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

【问题讨论】:

    标签: java swing constructor jcomponent instances


    【解决方案1】:

    您必须传递 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
        }
    

    【讨论】:

    • 哦。谢谢。也很抱歉提出菜鸟问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多