所以我有编号的JLabel宣布像这样(在课堂上) OP_1 OP_2 OP_3 等。我需要根据到JLabel引用过的字符串
而且我有一个号码和一个串。
我想要的是,例如,当数字是2.我想将标签文本更改为字符串的内容。这是应该接受一个字符串的方法的一部分,将其放入最后一个可用的JLabel中,然后递增该数字。
我很困惑,帮助将不胜感激。
所以我有编号的JLabel宣布像这样(在课堂上) OP_1 OP_2 OP_3 等。我需要根据到JLabel引用过的字符串
而且我有一个号码和一个串。
我想要的是,例如,当数字是2.我想将标签文本更改为字符串的内容。这是应该接受一个字符串的方法的一部分,将其放入最后一个可用的JLabel中,然后递增该数字。
我很困惑,帮助将不胜感激。
在这里,我创建的JLabel的阵列和方法,updateNextLabel后来访问(字符串),这将你用你为str输入的任何内容更新下一个JLabel。
public class Example {
static int count = 0; //Create a count
static JLabel[] array = new JLabel[3]; //Create an array to hold all three JLabels
public static void main(String[] args) {
//Set the default text for each JLabel
array[0] = new JLabel("This is OP1");
array[1] = new JLabel("This is OP2");
array[2] = new JLabel("This is OP3");
//Here is an example if you wanted to use a for-loop to update the JLabels
for (int x = 0; x < array.length; x++) {
updateNextLabel("This is the new text for OP" + (count + 1));
System.out.println(array[x].getText());
}
}
public static void updateNextLabel(String str) {
array[count].setText(str);
count++;
}
}
而是由具体的名字命名的标签/附加您以后可以匹配他们,我倒是觉得JLabel
的Map
A S与String
S或Integer
S作为密钥可能是一个更好的方法:
Map<String,JLabel> labelMap = new HashMap<String,JLabel>();
labelMap.put("1", OP_1);
labelMap.put("2", OP_2);
这将使“为重点2
标签”以及“列出我所有的标签,并找到一个文本2
”以及
如何比较或转换数字到JLabel。但是,您可以比较每个JLabel的文本以匹配数字。如果发现匹配,则获取对JLabel的引用,然后使用字符串的内容更改文本。 –
不转换任何东西。我正在将Label的文本更改为字符串中的内容。这是标签的名称,需要用数字找到。 – Ampera
是的,你正在试图比较一个数字与JLabel的文字,即。无论如何,你需要对匹配的JLabel的引用。为此,您需要比较所有JLabel文本的文本。没有其他办法可以解决你的问题。 –