Java中的GUI。。生成运行时组件

Java中的GUI。。生成运行时组件,java,swing,Java,Swing,我有一个用户界面,用户在文本字段中输入一个数字(例如10) 然后,如果用户按enter键,我希望在同一用户界面中生成10个文本字段 我该怎么做?创建文本字段对象, 将它们添加到您的容器中 使用循环以任意数字执行此操作 发布一些代码和您的具体问题以获得更多帮助。创建文本字段对象, 将它们添加到您的容器中 使用循环以任意数字执行此操作 发布一些代码和您的具体问题以获得更多帮助。类似的内容: // Assuming myOrigTextField is your original JTextField

我有一个用户界面,用户在文本字段中输入一个数字(例如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]);
}
//假设myOrigTextField是您的原始JTextField
int howMany=Integer.parseInt(myOrigTextField.getText());
JTextField[]jtfs=新的JTextField[数量];
对于(int i=0;i
类似的内容:

// 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]);
}
//假设myOrigTextField是您的原始JTextField
int howMany=Integer.parseInt(myOrigTextField.getText());
JTextField[]jtfs=新的JTextField[数量];
对于(int i=0;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;
}
public List addComponents(整数){
列表字段=新的ArrayList(编号);
for(int i=0;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;
}
public List addComponents(整数){
列表字段=新的ArrayList(编号);
for(int i=0;i
如果用户按enter键,我想要什么?文本必须在同一用户界面中生成

将ActionListener添加到文本字段。按下Enter键时将调用ActionListener

在ActionListener代码中,您需要解析输入的数字,然后循环创建文本字段并将其添加到面板中:

for (...)
{
    panel.add( new JTextField(...) );
}

panel.revalidate(); // needed when dynamically adding/removing components
panel.repaint(); // sometimes needed
如果用户按enter键,我想要什么?文本必须在同一用户界面中生成

将ActionListener添加到文本字段。按下Enter键时将调用ActionListener

在ActionListener代码中,您需要解析输入的数字,然后循环创建文本字段并将其添加到面板中:

for (...)
{
    panel.add( new JTextField(...) );
}

panel.revalidate(); // needed when dynamically adding/removing components
panel.repaint(); // sometimes needed

我还不习惯ArrayList,很遗憾+1我还不习惯ArrayList,很遗憾+1.