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