更改动态创建的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();
});