如何重置JLabel

时间:2012-03-26 13:08:53

标签: java swing jlabel

我正在尝试重置JLabel数组。标签顶部有图像,所以当我按下按钮时,标签应该被重置。我试着这样做

 for(int i=0; i<desks.length; i++)
  {
    desks[i].setText("");
    rightPanel.add(desks[i]);
  }

所以,如果有人有想法,那将是伟大的。经理。

3 个答案:

答案 0 :(得分:6)

无需将其重新添加到面板中。只需将文本设置为空字符串就足够了。

如果没有发生这种情况,请确保您在事件派发线程上执行此操作,如下所示:

SwingUtilities.invokeLater(new Runnable() {
   public void run() {
      desks[i].setText("");
   }
});

答案 1 :(得分:5)

您不必再次将标签添加到内容窗格以重置其文本。 只需执行以下操作即可清除标签文本:

 for(int i=0; i<desks.length; i++)
 {
    desks[i].setText("");
 }

答案 2 :(得分:4)

这是可能的方法之一

int n = panel.getComponentCount();
if (n > 0) {
    Component[] components = panel.getComponents();
    for (int i = 0; i < components.length; i++) {
         if (components[i] instanceof JLabel) {
             JLabel label = (JLabel) components[i];
             label.setText("");
         } 
    }
}