Java 我需要根据字符串引用JLabel
因此,我对jlabel进行了编号(在类中) OP_1 OP_2 作品3 等等 我有一个数字和一个字符串 我想要的是,例如,当数字是2时。我想将标签文本更改为字符串的内容。这是一个方法的一部分,该方法假定获取一个字符串,将其放入最后一个可用的JLabel中,然后递增数字Java 我需要根据字符串引用JLabel,java,Java,因此,我对jlabel进行了编号(在类中) OP_1 OP_2 作品3 等等 我有一个数字和一个字符串 我想要的是,例如,当数字是2时。我想将标签文本更改为字符串的内容。这是一个方法的一部分,该方法假定获取一个字符串,将其放入最后一个可用的JLabel中,然后递增数字 我很困惑,希望您能给予帮助。我认为,使用JLabels的Map和Strings或Integers作为键可能是一种更好的方法,而不是以后用特定的名称来命名标签 Map<String,JLabel> labelMap =
我很困惑,希望您能给予帮助。我认为,使用
JLabel
s的Map
和String
s或Integer
s作为键可能是一种更好的方法,而不是以后用特定的名称来命名标签
Map<String,JLabel> labelMap = new HashMap<String,JLabel>();
labelMap.put("1", OP_1);
labelMap.put("2", OP_2);
Map labelMap=newhashmap();
labelMap.put(“1”,OP_1);
labelMap.put(“2”,OP_2);
这将允许以后访问“键
2的标签”以及“列出所有标签并找到带有文本2
”以及这里我创建了一个JLabel数组和一个方法updateNextLabel(String),该方法将用为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++;
}
}
公共类示例{
静态int count=0;//创建一个计数
静态JLabel[]数组=新JLabel[3];//创建一个数组以容纳所有三个JLabel
公共静态void main(字符串[]args){
//为每个JLabel设置默认文本
数组[0]=新的JLabel(“这是OP1”);
数组[1]=新的JLabel(“这是OP2”);
数组[2]=新的JLabel(“这是OP3”);
//如果您想使用for循环来更新jlabel,下面是一个示例
对于(int x=0;x
如何将数字与JLabel进行比较或转换。但是,您可以将每个JLabel的文本与数字进行比较。如果找到匹配项,则获取对JLabel的引用,然后使用字符串内容更改文本。不转换任何内容。我正在将标签的文本更改为字符串中的内容。需要使用数字找到标签的名称。是的,您正在尝试将数字与JLabel的文本进行比较,因此。无论如何,您需要一个匹配JLabel的引用。为此,您需要比较所有JLabel文本的文本。没有其他方法可以解决您的问题。JLabel有文本(显示在屏幕上)和名称(用于在代码中引用它们)。为了使问题更简单,我需要使用包含名称的字符串访问JLabel,以便编辑屏幕上显示的文本,