Я работал с графическим программированием на Java и чувствую, что понимаю, как это работает.
Одна вещь, которая мне не нравится/еще не понята, это то, как управлять рисованием большого количества графики (фигуры, изображения и т. д.) на панели.
Во всех книгах/учебниках, которые я сейчас просматриваю, вы помещаете весь рисунок, который хотите сделать, в функцию paintCompnents/paint. Бывший,
public void paint(Graphics g){
//do stuff here....
}
Дело в том, что у меня так много всего, что я хочу нарисовать, что помещать кучу кода в одну функцию уродливо, трудно читать и затрудняет управление/редактирование...
Я понимаю ООП, но я новичок в программировании графики. Как мне управлять всеми «данными», которые я хочу нарисовать на своем холсте (точнее, JPanel). В настоящее время я вызываю функции внутри метода paint(..). Бывший,
public void paint(Graphics g){
drawCars(g, x,y,wid,len,etc,etc);
}
тогда...
drawCars(Graphics g, int x, int y, int wid, etc etc){
g.drawSomething(x,y,wid,len,)
g.drawAnotherThing(x+90,y+60,etc, etc);
}
Проблема в том, что в моем классе JPanel у меня есть все эти случайные функции, которыми я должен управлять.
И это только для рисования «одной страницы» материала. Я не могу представить, что мне нужно переключать виды или экран игры, где у меня может быть куча вещей, анимируемых на странице..
Я просто ищу направление о том, как организовать код, нарисованный методом paint() в java, поэтому я не схожу с ума, глядя на свою старую работу. Любые учебные пособия, книги (особенно если они бесплатны) или, может быть, хороший код для чтения будут очень и очень оценены.
Все, что я нашел до сих пор, касается обучения тому, что вы «можете» делать с графикой/графикой 2D/java, но я ищу советы по организации/стилю, предложенные экспертами.