使程序在java中自动添加文本字段
也许有一个类似的问题,但我找不到一个 我希望我的程序(awt或swing)自动添加控件(如文本字段) 例如:一个对话框程序有10个输入名字的字段,但我需要11个,所以按下一个按钮就会出现一个新的字段使程序在java中自动添加文本字段,java,swing,awt,jtextfield,Java,Swing,Awt,Jtextfield,也许有一个类似的问题,但我找不到一个 我希望我的程序(awt或swing)自动添加控件(如文本字段) 例如:一个对话框程序有10个输入名字的字段,但我需要11个,所以按下一个按钮就会出现一个新的字段 先谢谢你 以下是您问题的一些有用的副本: 以下是一个使用以下内容的示例: import java.awt.BorderLayout; import java.awt.event.*; import javax.swing.Box; import javax.swing.JButton; i
先谢谢你 以下是您问题的一些有用的副本:
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class MultiJComponentsTest extends JFrame
{
private JButton btnAdd;
private JPanel centerPanel;
private Box vBox;
public MultiJComponentsTest()
{
super("The Title");
btnAdd = new JButton("Add new JTextField!");
btnAdd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e)
{
vBox.add(new JTextField(20));
pack();
}
});
vBox = Box.createVerticalBox();
centerPanel = new JPanel();
JPanel contentPanel = (JPanel) getContentPane();
contentPanel.setLayout(new BorderLayout());
contentPanel.add(btnAdd, "South");
contentPanel.add(centerPanel, "Center");
centerPanel.add(vBox);
pack();
}
public static void main(String args[])
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
new MultiJComponentsTest().setVisible(true);
}
});
}
}