Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要根据字符串引用JLabel_Java - Fatal编程技术网

Java 我需要根据字符串引用JLabel

Java 我需要根据字符串引用JLabel,java,Java,因此,我对jlabel进行了编号(在类中) OP_1 OP_2 作品3 等等 我有一个数字和一个字符串 我想要的是,例如,当数字是2时。我想将标签文本更改为字符串的内容。这是一个方法的一部分,该方法假定获取一个字符串,将其放入最后一个可用的JLabel中,然后递增数字 我很困惑,希望您能给予帮助。我认为,使用JLabels的Map和Strings或Integers作为键可能是一种更好的方法,而不是以后用特定的名称来命名标签 Map<String,JLabel> labelMap =

因此,我对jlabel进行了编号(在类中) OP_1 OP_2 作品3 等等

我有一个数字和一个字符串

我想要的是,例如,当数字是2时。我想将标签文本更改为字符串的内容。这是一个方法的一部分,该方法假定获取一个字符串,将其放入最后一个可用的JLabel中,然后递增数字


我很困惑,希望您能给予帮助。

我认为,使用
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,以便编辑屏幕上显示的文本,