シンプルなフォームと、JLabels と JTextFeilds の 2 つの配列があります。
ArrayList<JLabel> jlabels = new ArrayList<JLabel>();
ArrayList<JTextField> textFields = new ArrayList<JTextField>();
それを Frame に追加し、この要素を正しくパックします(画像を参照してください)。
私のコードの一部を見てください:
public class ProductForm extends JFrame {
private JPanel contentPane;
public ProductForm() {
initComponents();
actions();
}
public void actions() {
setTitle("Product selection");
setSize(600, 350);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setVisible(true);
}
private void initComponents() {
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
ArrayList<JLabel> jlabels = new ArrayList<JLabel>();
ArrayList<JTextField> textFields = new ArrayList<JTextField>();
//for (int a = 0; a < product.list.size(); a++) {
for (int a = 0; a < 7; a++) { // let say 7 for example
jlabels.add(new javax.swing.JLabel());
textFields.add(new javax.swing.JTextField());
for (JLabel j:jlabels) {
contentPane.add(j);
}
for (JTextField f:textFields) {
contentPane.add(f);
}
}
pack();
}
その結果、私はこのコンテンツを持っています:下の画像を参照してください
この要素を正しくパックする方法を教えてください。何らかの方法で初期化する必要がありますか?
助けてくれてありがとう。