2011-07-26 50 views
-1

無論如何動態生成JComponent,如JTextField,JCombobox?我所嘗試的是工作......,但只能添加一次,其中聲明爲全局變量。無論如何,喜歡在每次運行時更改變量名稱?在運行時動態生成JComponent

+2

這個問題對我來說沒有意義。動態生成的組件與「更改變量名稱」有什麼關係? –

回答

2

您無法爲您動態生成的每個組件分配唯一名稱。

在定義文本字段時,需要將它們添加到列表(或其他數據結構)中。然後,您可以從列表中單獨訪問文本字段。

List<JTextField> textFields = new ArrayList<JTextField>(); 

for (int i = 0; i < 10; i++) 
{ 
    JTextField textField = new JTextField(); 
    textFields.add(textField); 
    somePanel.add(textField); 
} 

somePanel.revalidate(); 
+0

hmm.i之前嘗試過這種方式...但結果仍然相同..只能添加一個文本框,jcombobo,一次複選框..hmm沒有必要唯一隻需要動態生成。 –

+1

那麼,你的代碼是錯誤的。張貼您的[SSCCE](http://sscce.org),證明問題。 – camickr

+0

我會把這段代碼放在一個方法中,並用'pack()'從父框架中調用它,以防萬一新生成的組件位置在可見區域之外 – mastaH