我需要基于字符串

时间:2015-12-12 18:49:18

标签: java

所以我已经编号JLabels如此声明(在课堂上) OP_1 OP_2 OP_3 等。

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

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

我很困惑,我们将不胜感激。

2 个答案:

答案 0 :(得分:0)

我可以考虑Map JLabelStringIntegerMap<String,JLabel> labelMap = new HashMap<String,JLabel>(); labelMap.put("1", OP_1); labelMap.put("2", OP_2); ,而不是通过特定名称命名您的标签。作为键可能是更好的方法:

2

这将允许稍后访问“密钥2的标签”以及“列出所有标签并找到带有文字.logo { background: url('path/to/image.jpg'); height: 100px; width: 100px; border-radius: 100px; } 的标签”

答案 1 :(得分:0)

这里我创建了一个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++;
    }
}