Я работаю с java.awt.Color
экземплярами. Есть ли способ сделать арифметические операции над цветами? Что-то вроде rgb(20, 20, 20) + rgb(10, 200, 170) = rgb(30, 220, 190)
?
Что я пытаюсь сделать: у меня есть графический интерфейс с таблицей, где, если пользователь нажимает на ячейку, другие ячейки меняют цвет в зависимости от их отношения к выбранной. Я ищу способ избежать жесткого кодирования того, что представляют собой базовые цвета и на какие значения цвета они меняются.
Таким образом, выбранная ячейка может быть rgb(255, 0, 0)
, а все остальное может быть между rgb(0, 0, 0)
и rgb(0, 255, 0)
в зависимости от их значений. Я думаю ... перечисления?
import java.awt.Color;
public enum ColorConstant {
SELECTED (new rgb(255, 0, 0), "Red"),
MAX_DISTANCE (new rgb(0, 255, 0), "Green")
private Color shade;
private ??? whichColorToModify;
}