gpt4 book ai didi

Java-如何通过单击按钮添加更多文本字段?

转载 作者:行者123 更新时间:2023-11-29 08:04:25 25 4
gpt4 key购买 nike

我用 Java 创建了一个 frame,其中有一些 textfields 和 buttons。假设用户想要更多文本字段(例如添加更多数据),我想放一个 button,当用户单击 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();
}
});
}
}

关于Java-如何通过单击按钮添加更多文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12251618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com