Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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使用一个变量作为另一个变量_Java_String_Variables_Background Color - Fatal编程技术网

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

Java使用一个变量作为另一个变量,java,string,variables,background-color,Java,String,Variables,Background Color,这就是交易。如果可能的话,我不想写50+if语句或开关 设置: 我有一个主类,它是一个GUI。在这个GUI中,我有一个JLabel,我想在其中更改它的背景色 它已初始化为静态JLabel,因此可以由其他类设置,并且工作正常 主类 goodornot.setBackground(Color.LIGHT_GRAY); 在另一个从脚本获取输入的类中,我想设置泛型变量 性能循环类 RunChecks.rcMin = 50; RunChecks.rcMax = 75; RunChecks.change

这就是交易。如果可能的话,我不想写50+if语句或开关

设置: 我有一个主类,它是一个GUI。在这个GUI中,我有一个JLabel,我想在其中更改它的背景色

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

主类

 goodornot.setBackground(Color.LIGHT_GRAY);
在另一个从脚本获取输入的类中,我想设置泛型变量

性能循环类

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.rcMin=50;
RunChecks.rcMax=75;
RunChecks.changeColor=“goodornot”;

String[]one=linecut.split(“=”) 如果我理解这个问题,这里有一种方法:

设置JLabel集合,例如:

static HashMap<String,JLabel> labels;

您正在启动一个新线程,因此需要对标签的引用。请尝试以下操作:

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 (){
        }
    }
}
如果你读了我的“没用”评论,我道歉。事实上,它确实起了作用,另外两种方法也起了作用,尽管不是一种优雅的方法。我从来没有发现if语句永远不会设置颜色的事实,因为逻辑永远不会触发LOL最小的事情!所以我自己很早就编写了正确的代码,但完全没有理解其中的逻辑。。。。我想我需要更多的咖啡。。。
labels.get("**changeColor**").setBackground(Color.GREEN);
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();