Java使用一个变量作为另一个变量
这就是交易。如果可能的话,我不想写50+if语句或开关 设置: 我有一个主类,它是一个GUI。在这个GUI中,我有一个JLabel,我想在其中更改它的背景色 它已初始化为静态JLabel,因此可以由其他类设置,并且工作正常 主类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
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();