Итак, вот сделка. Я не хочу писать 50+ если утверждения или переключатели, если это возможно.Java использует переменную как другую переменную
Установки: У меня есть Основной класс, который является графическим интерфейсом. В этом графическом интерфейсе у меня есть 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.
благодаря
Если вы читали мой "это не сработало" комментарий я извиняться. На самом деле это работа и два других метода, хотя и не очень элегантный. Я никогда не понимал, что утверждение if никогда не установит цвет, потому что логика никогда не вызовет LOL самые маленькие вещи! Поэтому я сам правильно сформулировал это правильно, но полностью пропустил логику ... полагаю, мне нужно больше кофе ... – reddragon72