关于使用jpanel的一些建议 - 我是java的新手,并且使用GUI元素。
基本上我很好奇的是,如果我可以在一个类中设置一个Jpanel,然后以某种方式将标签等添加到该容器中,但是从另一个类中添加。
这可能吗?或者我必须在一个类中设置整个GUI,但是如果我想更新我在另一个类的主类中设置的那些字段,我想我会遇到同样的问题吗?
道歉我真的没有任何代码可以在这里展示 - 我只是想让这个想法得以实现,如果可能的话,在我继续之前做好准备。我甚至不确定这是否可行。任何建议都将不胜感激。
由于
答案 0 :(得分:3)
只要你有对JPanel的引用,你就可以通过在JPanel上调用add(JComponent comp)
来添加你想要的任何GUI元素。
所以,你可以这样做:
class Panel extends JPanel{
...
}
class Main{
public Main(JPanel thePanel){
thePanel.add(new JButton("Hello"));
}
}
这是你想要的吗?
如果您在类中设置了公共访问器方法,则还可以从其他类更新添加到面板的字段。所以在你的panel
课程中,你有一个方法:
public JButton getButton(){
return button;
}
然后您可以从任何类中访问该按钮,并引用您的面板类,如下所示:
panel.getButton().setText("Some text");
请注意,该按钮也可以公开,然后您可以直接调用该方法:panel.button.setText("Some text");
但这不被认为是好的代码,因为它违反了一些一般的优秀OOP实践,这里没有提及