JLabel添加到框架后,我想对其进行修改。

for(int i=0; i<5; i++){
    JLabel newlabel = new JLabel();
    newlabel.setText("somekindoftext");
    newlabel.setBounds(50, 50+(10*i), 150, 14);
    newlabel.setVisible(true);
    object.add(newlabel);
}


将它们添加到框架后,U如何分别修改它们?

因此,如果我有一个名为modifyText()的函数,如何到达标签,修改文本并将其重新绘制到面板上?

最佳答案

一种方法是将标签添加到ArrayList<JLabel>,这是类的字段:

private ArrayList<JLabel> labels = new ArrayList<JLabel>();

...

for(int i=0; i<5; i++){
    JLabel newlabel = new JLabel();
    newlabel.setText("somekindoftext");
    newlabel.setBounds(50, 50+(10*i), 150, 14);
    newlabel.setVisible(true);
    object.add(newlabel);
    labels.add(newLabel); // <-----
}


现在,您可以将标签称为labels.get(0)labels.get(1)labels.get(2)等。

09-11 17:09