Как правильно размещать ячейки

Я начал разрабатывать Морской бой на Swing`е, сейчас столкнулся с проблемой размещением желтых ячеек в внутри красного квадрата на скрине. В классе Model создал 100 желтых ячеек, а в классе Canvas через цикл For хотел размещать по квадрату, но у меня все ячейки уходят в правую сторону как показано на скрине.

import javax.swing.JPanel;
import java.awt.Color;

public class Canvas extends JPanel {
    private Model model;

    public Canvas(Model model) {
        this.model = model;
        setLayout(null);
        setBackground(Color.BLACK);
        setOpaque(true);
        
        Cell[][] desktop = model.getDesktop();

        int x = 20;
        int y = 20;
        int width = 20;
        int height = 20;
        int offset = 5;

        for (int i = 0; i < desktop.length; i++) {
            for (int j = 0; j < desktop[i].length; j++) {
                Cell cell = desktop[i][j];
                if (cell != null) {
                    cell.setBounds(x, y, width, height);
                    add(cell);
                    x = x + width + offset;
                }
            }
            y = y + height + offset;
        }
    }
}

скриншот программы


Ответы (0 шт):