これはボタン アクション リスナーのコードです。このボタンを押した後、GridLayout のサイズを設定し、内部にテキスト フィールドを追加しますが、テキストにマウス イベントを追加しようとすると問題が発生します (必要な機能は、 proID[0] を押すと、proName[0] がテキストを「0」に設定し、proID[1] を押すと、proName[1] がテキストを「1」に設定し、次にすべて )
static int k = 1;
static int i = 1;
static int countttt = 0;
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
JTextField proID[] = new JTextField[i];
JTextField proName[] = new JTextField[i];
JTextField pUnitPrice[] = new JTextField[i];
JTextField Qty[] = new JTextField[i];
JTextField Linetotal[] = new JTextField[i];
GridLayout experimentLayout = new GridLayout(k, 5, 1, 1);
jPanel6.setLayout(experimentLayout);
proID[countttt] = new JTextField("a" + countttt);
proName[countttt] = new JTextField();
pUnitPrice[countttt] = new JTextField();
Qty[countttt] = new JTextField();
Linetotal[countttt] = new JTextField();
proID[countttt].addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
System.out.println(countttt);
proName[countttt].setText(countttt);
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
});
jPanel6.add(proID[countttt]);
jPanel6.add(proName[countttt]);
jPanel6.add(pUnitPrice[countttt]);
jPanel6.add(Qty[countttt]);
jPanel6.add(Linetotal[countttt]);
i++;
countttt++;
k++;
jPanel6.repaint();
jPanel6.revalidate();
}