更改动态创建的JLabel(Java)的值

更改动态创建的JLabel(Java)的值,java,Java,我想动态创建多个标签,因此我发现以下代码: btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { panel.add(new JLabel("Label")); panel.validate(); } }); 它工作得很好,但我不能更改它显示的文本,因为我不能调用它。例如:label.setText

我想动态创建多个标签,因此我发现以下代码:

btnNewButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        panel.add(new JLabel("Label"));
        panel.validate();
    }
});
它工作得很好,但我不能更改它显示的文本,因为我不能调用它。例如:
label.setText(“Labeltext已更改!”)


所以我的问题是:如何给每个动态创建的标签命名,以便更改它们的值?

将标签存储在
列表中


您想如何定义要更改的内容?您想通过索引编辑它们吗?是的,或者像1.setText()这样的递增数字;2.setText();3.setText()。。。
private List<JLabel> labels = new ArrayList<>();

...

public void yourMethod() {

    ...

    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            JLabel newLabel = new JLabel("Label");
            labels.add(newLabel);
            panel.add(newLabel);
            panel.validate();
        }
    });

    ...

}
button.addActionListener(arg0 -> {
    JLabel newLabel = new JLabel("Label");
    labels.add(newLabel);
    panel.add(newLabel);
    panel.validate();
});