Сетка останавливается на 10 х 50 вместо 50 х 50 - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь сгенерировать сетку размером 50x50, используя панель рисования, но по какой-то причине она останавливается на 50x10. Я использую Intellij, если это актуально.

protected void paintComponent(Graphics g){
    super.paintComponent(g);

    int theChangingX = 0;
    int theChangingY = 0;

    for (int row = 0; row <= 2500 + 1; row++){
        g.setColor(Color.red);
        g.drawRect(theChangingX,theChangingY, pixelsize, pixelsize );
        theChangingX+=10;
        for (int col = 0; col<=2500 + 1; col++ ){
            if (theChangingX ==2500){
                theChangingY+=10;
                theChangingX =-10;
            }
        }
    }
}

Ответы [ 2 ]

3 голосов
/ 08 февраля 2020

Думаю, вы слишком усложнили код, я бы go что-то вроде этого:

 protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.setColor(Color.red);
    for (int col = 0; col < 50; col++) {
        for (int row = 0; row < 50; row++) {
            g.drawRect(row * cellSize, col * cellSize, cellSize, cellSize);
        }
    }
}
0 голосов
/ 08 февраля 2020

Попробуйте это

protected void paintComponent(Graphics g){
    super.paintComponent(g);

    int theChangingX = 0;
    int theChangingY = 0;

    for (int row = 0; row < 50; row++){
        g.setColor(Color.red);
        theChangingX = row*10;

        for (int col = 0; col < 50 ;col++ ){
            theChangingY = col*10;
            g.drawRect(theChangingX,theChangingY, pixelsize, pixelsize );
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...