Есть такой метод:
public void render(Graphics g) {
g.setColor(Color.red);
g.fillRect((int)x, (int)y, sizeX, sizeY);
}
И я хочу, чтобы вместо Color.red
у меня стояла переменная color
, к которой я могу получить доступ из любого другого класса и в любой момент изменить цвет.
Есть ли способ присвоить переменной метод Color.*
?
Color.red
- это не метод, а константа в файле Color
. Выглядит она так:
public final static Color red = new Color(255, 0, 0);
Соответственно, достаточно просто хранить текущий цвет в поле типа Color
.
Поэтому добавляем в класс публичный метод для установки цвета, храним установленный цвет в поле и используем его при отрисовке.
В итоге класс выглядит так:
public class Entity
{
private Color color = Color.green;
public void setColor(Color color)
{
this.color = color;
}
public void render(Graphics g)
{
g.setColor(color);
}
}
А пользоваться им можно так:
Entity entity = new Entity();
entity.setColor(Color.red);
entity.render();
Color newColor = new Color(200, 200, 200);
entity.setColor(newColor);
entity.render();
Используя как "стандартные" цвета (например, Color.red
), так и созданные вручную (например, new Color(200, 200, 200)
).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйтевозможно ли во фрагменте воспроизвести видео на surpfaceview?у меня приходт исключение nullpointer в mediaplayer setdata хотя в активити работает
Привет всем, я делал некое подобие файлового менеджера и хотел сделать так, чтобы все изображения просматривались как небольшие иконки вот...
Делаю аутентификацию для гугла через firebase, после выбора email ничего не происходитВ консоли 2 ошибки:
Всем приветСкажите пожалуйста как сделать такое устройство (за основу взято raspberry либо gallileo) или прошить, чтобы при включении питания, включалась...