4
多分これに似た質問がありますが、見つけられませんでした。プログラムは自動的にJavaのテキストフィールドを追加します
私のプログラム(awtまたはswing)は、(テキストフィールドのような)コントロールを自動的に追加するのが好きです。
例:ダイアログプログラムには名前を入力するための10個のフィールドがありますが、11個必要です。ボタンを押すと新しいフィールドが表示されます。
ありがとうございます。ここで
多分これに似た質問がありますが、見つけられませんでした。プログラムは自動的にJavaのテキストフィールドを追加します
私のプログラム(awtまたはswing)は、(テキストフィールドのような)コントロールを自動的に追加するのが好きです。
例:ダイアログプログラムには名前を入力するための10個のフィールドがありますが、11個必要です。ボタンを押すと新しいフィールドが表示されます。
ありがとうございます。ここで
Box
を使用した例です。
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);
}
});
}
}