Java 更新类的Jpanel

Java 更新类的Jpanel,java,oop,jpanel,Java,Oop,Jpanel,在听取了一些关于使用jpanel的建议之后——我对java和GUI元素还不熟悉 基本上,我好奇的是,我是否可以在一个类中设置一个Jpanel,然后以某种方式将标签等添加到该容器中,但是从另一个类添加 这可能吗?或者我必须在一个类中设置整个GUI,但是如果我想从另一个类更新在主类中设置的字段,我想我也会遇到同样的问题 抱歉,我没有任何代码可以在这里演示——我只是想让这个想法付诸实施,如果可能的话,在我继续之前先解决一下。我甚至不确定这是否可能。如有任何建议,将不胜感激 谢谢只要您有对JPanel的

在听取了一些关于使用jpanel的建议之后——我对java和GUI元素还不熟悉

基本上,我好奇的是,我是否可以在一个类中设置一个Jpanel,然后以某种方式将标签等添加到该容器中,但是从另一个类添加

这可能吗?或者我必须在一个类中设置整个GUI,但是如果我想从另一个类更新在主类中设置的字段,我想我也会遇到同样的问题

抱歉,我没有任何代码可以在这里演示——我只是想让这个想法付诸实施,如果可能的话,在我继续之前先解决一下。我甚至不确定这是否可能。如有任何建议,将不胜感激


谢谢

只要您有对JPanel的引用,您就可以通过在JPanel上调用
add(JComponent comp)
来添加您想要的任何GUI元素

所以,你可以这样做:

class Panel extends JPanel{

    ...    

}

class Main{

    public Main(JPanel thePanel){
        thePanel.add(new JButton("Hello"));
    }
}
panel.getButton().setText("Some text");
这就是你要找的吗

如果在类中设置了公共访问器方法,还可以更新从另一个类添加到面板的字段。因此,在您的
面板
类中,您有一个方法:

public JButton getButton(){
    return button;
}
然后可以从任何类访问按钮,并引用panel类,如下所示:

class Panel extends JPanel{

    ...    

}

class Main{

    public Main(JPanel thePanel){
        thePanel.add(new JButton("Hello"));
    }
}
panel.getButton().setText("Some text");
请注意,该按钮也可以是公共的,然后您可以直接调用该方法:
panel.button.setText(“一些文本”)
但这不是好代码,因为它违反了一些通用的良好OOP实践,这里不需要提及