我有一个结构如下的 Java-Swing-GUI:
JFrame
-- JPanel1
-----jButton1
-----jLabel1
我的目标是,当按下 jButton1 时,我想更改 jLabel1 的颜色或在其上设置一些文本,但这应该在外部类中完成(我们称之为 externalClass)。
所以在 GUI 类的构造函数中,我将自己传递给我的外部类:
public class GUIclass extends javax.swing.JFrame {
private externalClass e;
public GUIclass() {
initComponents();
e = new externalClass(GUIclass.this);
}
在我的外部课程中,我无法访问例如标签:
private GUIclass g;
public externalClass(GUIclass g) {
this.g = g;
System.out.println(g.getComponentCount());
// --> only 1, is this the JFrame (?)
System.out.println(g.getComponent(0).getName());
// always "null"
}
任何人都可以向我解释如何访问标签吗?我也担心为什么组件的名称总是“空”。
提前致谢!