Java使用变量作为另一个变量

时间:2015-08-24 18:45:57

标签: java string variables background-color

所以这是交易。如果可能的话,我不想写50多个if语句或开关。

设定: 我有一个GUI类的Main类。在那个GUI中,我有一个JLabel,我想在其中更改其背景颜色。

它已被初始化为静态JLabel,因此可以由其他类设置,这样可以正常工作。

主要课程

 goodornot.setBackground(Color.LIGHT_GRAY);

在另一个从脚本中获取输入的类中我想设置通用的变量。

PerfLoop类

RunChecks.rcMin = 50;
RunChecks.rcMax = 75;
RunChecks.changeColor = "goodornot";
String[] one = linecut.split("="); <-- I am splitting a string IGNORE
RunChecks.rcToCheck = Integer.parseInt(one[1]);
RunChecks rc = new RunChecks();
new Thread(rc).start();

所以我把所有这些都设置好了,它看起来很棒而且没有错误。

现在在另一个类(runChecks)中我试图引入树变量,因此它们可以放入通用变量,但我遇到了一个问题。

RunChecks类

public void run() {
        // TODO Auto-generated method stub
        if (rcToCheck <= rcMin){
            Main.changeColor.setBackground(Color.GREEN);
        } else if (){
        }

我不能在这里使用changeColor来设置goodornot的颜色。我怎样才能获得变量changeColor来表示需要进入Main的东西。(就在这里).setBackground(Color.GREEN)?

我认为有一种方法,但对于我的生活,我尝试了一些不同的方式而不去。

是的,所有变量都设置为静态字符串和int。

感谢

1 个答案:

答案 0 :(得分:2)

您正在开始一个新主题,因此您需要引用您的标签。请尝试以下方法:

class RunChecks implements Runnable
{
    private JLabel label;

    public RunChecks(JLabel label)
    {
        this.label = label;
    }

    public void run()
    {
        if (rcToCheck <= rcMin){
            label.setBackground(Color.GREEN);
        } else if (){
        }
    }
}

...

    RunChecks rc = new RunChecks(yourLabelVariableHere);
    new Thread(rc).start();