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

Lax*_*yan 1 java swing jlabel

可能吗 ?

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

例如:假设用户将jTextField1中的输入指定为2,那么我想将所有jLabel文本设置为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);
      }
  }
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Man*_*nos 5

将JLabels命名为升序,例如:

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
    }
Run Code Online (Sandbox Code Playgroud)

然后:

    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(" ");
              }
     }
Run Code Online (Sandbox Code Playgroud)