我有一个用户界面,用户在textfeild中输入一个数字(例如10) 然后,如果用户按下回车,我想在同一个用户界面中生成10个文本字段。
我该怎么做?
答案 0 :(得分:2)
类似的东西:
// 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]);
}
答案 1 :(得分:1)
创建文本字段对象, 将它们添加到您的容器中。
使用循环以任意数字执行此操作。
发布一些代码和您的具体问题以获得更多帮助。
答案 2 :(得分:1)
粗略地假设你正在使用布局管理器的一些事情,我会说:
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;
}
答案 3 :(得分:1)
如果用户按下我想要的输入?文本字段将在同一用户界面中生成
将ActionListener添加到文本字段。按下Enter键时将调用ActionListener。
在ActionListener代码中,您需要解析输入的数字,然后循环以创建文本字段并将其添加到面板:
for (...)
{
panel.add( new JTextField(...) );
}
panel.revalidate(); // needed when dynamically adding/removing components
panel.repaint(); // sometimes needed