簡體   English   中英

如何獲取動態創建的文本字段的值

[英]How do I get the values of a dynamically created textfield

請誰能幫我解決我的這個代碼。 我正在一個需要動態創建文本字段的項目中,盡管我能夠創建文本字段,但無法獲取需要存儲在數組中的用戶輸入。 這是我使用的代碼;

Public void actionPerformed(ActionEvent e){
   String value = textField.getText();
   int values = Integer.parseInt(value);
   int sum = 10;
   for(int I=0; I < values; I++){
       TextField field = new TextField();
       field.setBound(10,sum,107,22);
       Panel.add(field);
       sum += 28;
       }
   }
});

但是我無法編寫任何成功的代碼來獲取textFields的值。

您的問題是訪問引用的問題之一-意思是,一旦創建了對象,就沒有簡便的方法可以在需要時獲得對它的正確引用。 一種解決方案是使用諸如ArrayList<TextField>之類的集合作為您的類的字段,然后將創建的對象放入該集合中。 然后,如果您需要它們,則可以輕松地從集合中獲取它們。

附帶建議:

  • 為什么使用AWT組件而不使用Swing? 換句話說,使用ArrayList<JTextField>並用JTextFields(而不是TextFields)填充它。
  • 避免使用setBounds(...)null布局,因為這會導致非常不靈活的GUI,盡管它們在一個平台上看起來可能不錯,但在大多數其他平台或屏幕分辨率上卻看起來很糟糕,並且很難更新和維護。

  • 避免使用“魔術”數字,例如此處的硬編碼數字: field.setBound(10,sum,107,22);

  • 請改用布局管理器。
  • 您將要學習和使用Java命名約定 變量名都應以小寫字母開頭,而類名應以大寫字母開頭。 學習並遵循此規則將使我們能夠更好地理解您的代碼,並使您能夠更好地理解其他人的代碼。

暫無
暫無

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

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