[英]GUI in Java.. generating a run time component
我有一個用戶界面,用戶可以在文本輸入框中輸入數字(例如10),然后如果用戶按Enter,則我希望在同一用戶界面中生成10個文本輸入。
我怎樣才能做到這一點?
像這樣:
// Assuming myOrigTextField is your original JTextField
int howMany = Integer.parseInt(myOrigTextField.getText());
JTextField[] jtfs = new JTextField[howMany];
for (int i = 0; i < jtfs.length; ++i) {
jtfs[i] = new JTextField();
myPanelToAddThem.add(jtfs[i]);
}
創建文本字段對象,將其添加到您的容器中。
使用循環可對任意數字執行此操作。
發布一些代碼和您的特定問題以獲得更多幫助。
大概假設您正在使用布局管理器,我這樣說:
public List<JTextField> addComponents( int number ) {
List<JTextField> fields = new ArrayList<JTextField>( number );
for( int i = 0; i < number; i++ ) {
fields.add( new JTextField() );
panelToAddComponentsTo.add( fields.get( i ) );
}
return fields;
}
如果用戶按下Enter,我要嗎? 在同一用戶界面中生成的文本字段
您將一個ActionListener添加到文本字段。 當按下Enter鍵時,將調用ActionListener。
在ActionListener代碼中,您需要解析輸入的數字,然后循環以創建文本字段並將其添加到面板中:
for (...)
{
panel.add( new JTextField(...) );
}
panel.revalidate(); // needed when dynamically adding/removing components
panel.repaint(); // sometimes needed
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.