我创建了一个frame
在Java中有一些textfields and buttons
在里面。假设用户想要更多文本字段(例如添加更多数据),我想放一个button
当用户点击时the button
,然后一个新的textfield
应该出现。然后用户可以在其中填写数据,然后再次单击该数据button
其他textfield
应该出现。
我怎样才能做到这一点 ?我需要为按钮编写什么代码才能通过单击按钮显示越来越多的文本字段?
谢谢 !
明智的做法是不要将组件添加到您的JFrame
直接将它们添加到JPanel
。虽然与你的问题相关,但看看这个小例子,希望能给你一些提示,否则问我什么是出界的。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JFrameExample
{
private JFrame frame;
private JButton button;
private JTextField tfield;
private String nameTField;
private int count;
public JFrameExample()
{
nameTField = "tField";
count = 0;
}
private void displayGUI()
{
frame = new JFrame("JFrame Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridLayout(0, 1, 2, 2));
button = new JButton("Add JTextField");
button.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent ae)
{
tfield = new JTextField();
tfield.setName(nameTField + count);
count++;
frame.add(tfield);
frame.revalidate(); // For JDK 1.7 or above.
//frame.getContentPane().revalidate(); // For JDK 1.6 or below.
frame.repaint();
}
});
frame.add(button);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
new JFrameExample().displayGUI();
}
});
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)