有可能吗?
我在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);
}
}
请帮助!
答案 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(" ");
}
}