我有一個Java Swing的GUI,像這樣的結構訪問的Swing組件:
的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"
}
有沒有人請向我解釋我如何獲得標籤? 另外我很擔心爲什麼組件的名稱總是「空」。
在此先感謝!
謝謝,這對我有用! – BNetz