如何在单个for循环中动态更改多个jLabel的文本?

时间:2015-02-02 16:01:22

标签: java swing jlabel

有可能吗?

我在jFrame上有5个标签,如jLabel1,jLabel2,jLabel3,jLabel4和jLabel5。我想将文本设置为null,而不是由用户给出的单个文本。对于实验,我使用了5个标签,但我的项目中有超过150个标签。

Ex:假设用户将jTextField1中的输入设为2,那么我想将所有jLabels文本设置为null,除了单个for循环中的jLabel2。

String count = jTextField1.getText();
 int cnt = Integer.parseInt(count);
for(int i=1;i<=5;i++)
  {
    String lbl = "jLabel"+i;
    if(i!=cnt)
      {
        lbl.setText(null);
      }
  }

请帮助!

1 个答案:

答案 0 :(得分:5)

将JLabel命名为升序,例如:

JLabel[] jLabel = new JLabel[1500];
    for (int i = 0; i < jLabels.length; i++) {
        jLabel[i].setName(String.valueOf(i));
        //You can also setText at the labels
    }

然后:

    String count = jTextField1.getText();
    for(int i = 0; i<=jLabels.length; i++) {
             if (!jLabel[i].getName.equals(count) {
                  //DO WHATEVER YOU WANT
                  jLabel[i].setText(" ");
              }
     }