0

:)

我想做这样的事情 - 例如,我有四个标签:

lblError1;
lblError2;
lblError3;
lblError4;

他们都是set.Visible(false);

现在我想要将这些标签设置为可见的循环。如果 k=2,则前两个标签设置为可见。如果 k=4,前四个标签设置为可见。

我的想法:

int k=2;
for (i=1; i<k+1; i++) {
  (lbl.Error + i).setVisible(true);
}

这行不通。有一个规则:我必须用循环来制作它。如果有另一种很好的方法,如何在没有循环的情况下以有效的方式做到这一点,请告诉我。否则告诉我,如何制作适用于该解决方案的循环。

非常感谢!:))

4

1 回答 1

3

为什么不使用标签数组并使用for循环根据 的值设置它们的可见性k。它会比你的更具可读性(lbl.Error + i)(我怀疑它是否会起作用)。

for (int i=0; i<k; i++) {
  labels[i].setVisible(true); // where labels is the array of label.
}

编辑:-

假设您正在使用JLabel,那么您可以创建一个标签数组,如下所示:-

JLabel[] labels = new JLabel[yourArraySize];
for (int i=0; i<labels.length; i++) {
  labels[i] = new JLabel(); // You can also use JLabel(labelText) constructor.
}
于 2013-10-01T08:03:53.500 回答