2015-04-10 2 views
0

В настоящее время я делаю базовую связь с четырьмя играми с графическим интерфейсом, и я пытаюсь понять, как я могу разместить фигуры на доске. У меня есть метод, который может определить, в каком пространстве пользователь хотел бы поместить кусок, но я не уверен, как рисовать фрагменты. Поскольку paintComponent() всегда вызывается без фактического вызова метода, а конструктор по умолчанию принимает только объект Graphics , как я мог перегрузить paintComponent() так, чтобы он мог принимать разные аргументы (эти аргументы являются местоположением части), и компилятор будет знать, чтобы вызвать мой новый метод paintComponent()?Перегрузка paintComponent()

ответ

5

как я мог перегрузить paintComponent() так, что он может принимать различные аргументы

Вы не можете. Вернее, вы можете создать перегруженный метод, но JRE не будет его вызывать.

Вместо этого код должен сохранить модель состояния игры, когда она изменится, вызовите repaint(). В обычном методе paintComponent(Graphics) используйте модель, чтобы определить, как ее следует нарисовать.

Очевидно, что для того, чтобы это сработало, модель должна находиться в рамках метода - поэтому вы можете сделать его атрибутом класса.

Смежные вопросы