Я делаю проект для школы ведьм. Мне нужно смоделировать колонию муравьев, а также показать ее в графическом пользовательском интерфейсе.
Весь проект почти завершен, но я не хочу реализовать функцию масштабированиядля моей jPanel.
Я нашел тему на этом сайте, в основном с тем, что мне нужно. Вот ссылка: Увеличение и уменьшение масштаба внутри панели
Что в этом сделал Танасиспоток - это то, что мне в основном нужно, но я понятия не имею, как реализовать его в своем коде с другими классами.
Я новичок в графическом пользовательском интерфейсе, и мы в основном изучаем и понимаем его, выполняя этот проект так,простите, если ответ очень прост, и я прошу ответ.
Я могу предоставить код для классов Pannel и Window.
Я уже пытался запустить его, не задумываясьчто он будет работать непосредственно на моей jpanel, но это, конечно, не сработало. Также пытался назвать его в моем основном, но это тоже не сработало.Вот мой PaintComponent из моей панели.Я в основном делаю это для всего, что показывает (муравьи, колония, еда).
public void paintComponent(Graphics g){
int tailletab = this.gri.getTab().length;
//On récupère le tableau de la Grille
int[][] gril = this.gri.getTab();
int taillecarre;
int xcol = this.colo.getPos().getX();
int ycol = this.colo.getPos().getY();
int xsou = this.source.getPos().getX();
int ysou = this.source.getPos().getY();
if(tailletab<=50){
taillecarre = tailletab/4+2;
}else{
if(tailletab<60){
taillecarre = tailletab/5+1;
}else{
if(tailletab<70){
taillecarre = tailletab/7+1;
}else{
if(tailletab<80){
taillecarre = tailletab/8;
}else{
if(tailletab<90){
taillecarre = tailletab/10;
}else{
taillecarre = tailletab/13;
}
}
}
}
}
for(int i=0; i<tailletab; i++){
for(int j=0; j<tailletab; j++){
if(gril[j][i]==0){
if(j==xcol && i==ycol){
g.setColor(new Color(102, 51, 0));
g.fillRect(xcol*taillecarre, ycol*taillecarre,taillecarre,taillecarre);
g.setColor(Color.BLACK);
g.drawRect(xcol*taillecarre, ycol*taillecarre,taillecarre,taillecarre);
}else{
if(j==xsou && i==ysou){
g.setColor(Color.RED);
g.fillRect(xsou*taillecarre, ysou*taillecarre,taillecarre,taillecarre);
g.setColor(Color.BLACK);
g.drawRect(xsou*taillecarre, ysou*taillecarre,taillecarre,taillecarre);
}else{
g.setColor(Color.BLACK);
g.drawRect(j*taillecarre, i*taillecarre, taillecarre, taillecarre);
}
}
}else{
g.setColor(Color.BLACK);
g.drawRect(j*taillecarre, i*taillecarre, taillecarre, taillecarre);
g.fillRect(j*taillecarre, i*taillecarre, taillecarre, taillecarre);
}
}
}
}