创建没有HTML引用的Java动态表单字段

创建没有HTML引用的Java动态表单字段,java,forms,field,formfield,Java,Forms,Field,Formfield,我已经尝试了表单字段的替代组件和代码,例如在按下“添加另一个表单”按钮时添加新的面板组件。我将GridLayout用于这些表单的垂直流,将FlowLayout用于框架。我想要实现的是这种类型的一个简单的标准版本,它也在框架上的一个特定位置实例化它,而不是在运行时添加的最后一个组件的下一个。此外,使用scrollpane设置以流出组件,而不是根据容器对其进行压缩。以下是我的备用程序的示例代码: package sample; import java.awt.Color; import java.

我已经尝试了表单字段的替代组件和代码,例如在按下“添加另一个表单”按钮时添加新的面板组件。我将GridLayout用于这些表单的垂直流,将FlowLayout用于框架。我想要实现的是这种类型的一个简单的标准版本,它也在框架上的一个特定位置实例化它,而不是在运行时添加的最后一个组件的下一个。此外,使用scrollpane设置以流出组件,而不是根据容器对其进行压缩。以下是我的备用程序的示例代码:

package sample;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class SampleSubForm_Demo extends JFrame{

    JPanel subP = new JPanel();
    JButton subB = new JButton("Add another");

    public SampleSubForm_Demo(){
        setGUI();

        subB.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent arg0) {
                JPanel jp = new JPanel();
                jp.setBackground(Color.cyan);

                jp.add(new JLabel("Enter something again: "));
                jp.add(new JTextField(4));
                JButton jb = new JButton("Delete this");
                jp.add(jb);             

                jb.addActionListener(new ActionListener(){
                    public void actionPerformed(ActionEvent arg0) {
                        subP.remove(jp);
                        revalid();
                    }

                });

                subP.add(jp);

                revalid();              
            }
        });
        subP.add(subB);
        subP.setLayout(new GridLayout(0,1));

        add(new JLabel("Enter something: "));
        add(new JTextField(20));
        add(subP);

        revalidate();
    }


    private void revalid() {
        subP.revalidate();      
    }

    private void setGUI() {
        setLayout(new FlowLayout());
        setSize(200,200);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static void main(String[] args){
        new SampleSubForm_Demo();
    }

}
我不喜欢明显的HTML解决方案或任何其他替代方案,但仍然可以提供详细的过程。提前感谢:)