2016-11-23 30 views
0

我試圖訪問JFrame中的所有組件文本,但使用我發現的方法我無法做到。Java設置/獲取JFrame中的所有組件的文本

for(Component c : this.getComponents()) { 
     c.setText(TRNASLATE(c.getText())); 
     // does not work: no set and getText methods 
    } 

是否有任何方法獲取或設置組件的文本?

之前你問:我想不必手動列出它的組件和設置他們的文本翻譯在JFrame元素(這需要很長的時間來一一列舉了一個接一個)

對不起,我英語。

回答

0

您可以使用instanceof來檢查組件是否爲某種類型,即對其進行類型轉換。大多數組件都有一個getText()方法。

實施例:

for(Component c : this.getComponents()) { 
     if(c instanceof JLabel){ 
      JLabel label = (JLabel) c; 
      String text = c.getText(); 
     } 
} 

重複instanceof根據需要儘可能多的組件類型。

相關問題