JTextfield 数组,检索名称和文本

JTextfield array, retrieve name and text

我有一个 JTextField 数组,当 JTextField 被修改时,我想要 JTextField 的名称和文本。

while ((line = bufferedReader.readLine()) != null) { // 1 by 1 line of file
    if (f == 6) {
        g++;
        f = 0;
    }
    tableauDonnee[g][f] = line;
    fields[g][f] = new JTextField(tableauDonnee[g][f]);
    fields[g][f].setName(String.valueOf(g + etf));
    fields[g][f].setBounds(positionY, positionX, 160, 40);
    pan.add(fields[g][f]);
    positionY = positionY + 180;
    f++;

我可以在将 JTextField 添加到面板之前执行此操作

fields[g][f].addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent event) {
        textfield = fields[g][f].getText();
        nameTextfield = fields[g][f].getName();
    }
});

但它不会工作,因为 gf 的值不好。

我卡住了,不知道该怎么办。

您可以从 ActionEvent:

中获取事件源(即您按下 Enter 键的文本字段)
public void actionPerformed(ActionEvent event) 
{
    JTextField textField = (JTextField)event.getSource();
    ...
}

另外,为什么要使用文本字段的二维数组。

我建议 JTable 是更好用的组件。阅读 How to Use Tables 上的 Swing 教程部分了解更多信息。