Я хочу сопоставить текст результатов цветного поиска с текстом флажка после нажатия кнопки поиска. Смотрите рис.
В настоящее время я могу просмотреть цвет текста результатов поиска, но он не соответствует цвету текста флажка после нажатия кнопки поиска. Приведенный ниже код предназначен только для текстовой области «Результаты поиска автомобилей» и класса с именем CarBrand, который соответствует ключу этого элемента HashMap carDetails. Я не уверен, как сравнить и сопоставить его цвет с помощью HashMap. Любые предложения будут великолепны!
import java.awt.Color;
import java.swing.tree.DefaultTreeCellRenderer
public final class CarDetails extends DefaultTreeCellRenderer
{
private final Color defaultColor;
private final HashMap<String, Color> carDetails = new HashMap<>();
public CarDetails()
{
int i = 0;
defaultColor = getBackground(); //default color
int [][] rgb = {
{ 200, 000, 200 },
{ 000, 140, 000 },
{ 000, 200, 200 }
};
for (CarBrand car: CarModel.getCarBrandDetails()) {
carDetails.put(car.getCarBrand(), new Color(
rgb[i][0], rgb[i][1], rgb[i][2]));
i++;
// TODO this part is what I am not sure.
if (carDetails.containsKey(car.getCarBrand()) && carTable != null) {
for (Component c : carTable.getComponents()) {
if (c.getName().equals(car.getCarBrand())) {
c.setForeground(carDetails.containsObject(new
Color(rgb[i][0], rgb[i][1], rgb[i][2])));
}
}
}
}
}
}
Я ожидаю, что результат будет соответствовать цветовой кодировке результатов поиска автомобиля с текстом CheckBox (Honda, Hundai, BMW), как на картинке ниже.