簡體   English   中英

如何創建JTextField數組?

[英]How can I create a JTextField array?

我想為我的項目添加許多文本字段,並決定只使用數組,因為所有這22個文本字段都具有相同的屬性。

我已經嘗試過JTextField txtFld[] = new JTextField[5]; 它沒有參數錯誤,但是當我嘗試運行程序時,這會顯示在控制台中

Exception in thread "main" java.lang.NullPointerException

我不想用

JTextField txtFld[] = new JTextField[]{
    new JTextField(10),
    ...
    ...
    ... // repeat the same code about 20 times
};

因為它占用了很多行,並且文本字段始終是同一類型。 我想要做的是一個具有相同長度的文本字段數組,只需使用mainPanel(txtFld[0]); ... mainPanel(txtFld[21]); mainPanel(txtFld[0]); ... mainPanel(txtFld[21]);

是否可以僅用一行代碼創建文本字段數組?

由於我是SO新手,所以我只能回答這個問題,但這是一個重復的問題。 我在寫答案:

目前尚不清楚FIELDS是您的JTextField還是常量。 如果它是組件數組本身,則在迭代時考慮使用.length數組字段。 這減少了代碼維護:

Container c = getContentPane();
JTextField[] fields = new JTextField[22];
for (int i = 0; i < 22; i++) {
   fields[i] = new JTextField("Your Value");
   //you can add any listener for JTextField here
   c.add(fields[i]);
}

注意大寫變量用於Java命名約定下的常量。

答案已從此處復制 我無法將此問題標記為重復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM