java - 更新类的Jpanel

标签 java oop 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"));
    }
}

这就是您要找的吗?

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

public JButton getButton(){
    return button;
}

然后您可以通过引用您的面板类从任何类访问按钮,如下所示:

panel.getButton().setText("Some text");

请注意,该按钮也可以是公开的,然后您可以直接调用该方法:panel.button.setText("Some text"); 但这不是好的代码,因为它违反了一些一般的良好 OOP 实践,与此处无关。

关于java - 更新类的Jpanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2541574/

相关文章:

java - 在多个 Jackson 映射器之间创建唯一配置

java - Lucene 建议短语

PHP call_user_func 替代

java - JScrollPane 和大小问题

java - 内部类 JPanel 的奇怪之处

java - 使用变量指定R对象

java - 如何从xmi文件生成时序图

python - 在 ParallelPython 中,对象的方法 ( object.func() ) 无法操作对象的变量 ( object.value )

android - 每次 Activity 都开始创建该类的新对象吗?

java - 我想创建一条将 2 个 JTable 连接在一起的直线