在Java中创建网格时遇到问题

在Java中创建网格时遇到问题,java,swing,jframe,Java,Swing,Jframe,大家好,我是第一次学习JavaGUI,我在为我的一个项目创建28x28网格时遇到了困难。我遇到的问题是,我正在绘制网格的面板没有被调整到我想要的720×720像素大小,也没有绘制网格 以下是我现在拥有的代码: public class DrawPanel extends JPanel { public DrawPanel() { super(); setBackground(Color.WHITE); setSize(720, 72

大家好,我是第一次学习JavaGUI,我在为我的一个项目创建28x28网格时遇到了困难。我遇到的问题是,我正在绘制网格的面板没有被调整到我想要的720×720像素大小,也没有绘制网格

以下是我现在拥有的代码:

public class DrawPanel extends JPanel
{
    public DrawPanel()
    {
        super();
        setBackground(Color.WHITE);
        setSize(720, 720);
    }

    public void paintComponent(Graphics g)
    {
        int width = getWidth();
        int height = getHeight();
        System.out.println(width + " " + height);

        super.paintComponent(g);
        drawGrid(g);
    }

    public void drawGrid(Graphics g)
    {
        g.setColor(Color.BLACK);
        g.drawLine(5, 5, 715, 5);

        for (int row = 0; row < 28; row++)
        {
            g.drawLine(20, 25 * (row + 1), 700, 25 * (row + 1));
        }
        for(int col = 0; col < 28; col++)
        {
            g.drawLine(25 * (col + 1), 20, 25 * (col + 1), 700);
        }
    }
}
公共类DrawPanel扩展了JPanel
{
公共事务委员会()
{
超级();
挫折地面(颜色:白色);
设置大小(720720);
}
公共组件(图形g)
{
int width=getWidth();
int height=getHeight();
系统输出打印项次(宽度+“”+高度);
超级组件(g);
牵引格栅(g);
}
公共空心绘图网格(图形g)
{
g、 设置颜色(颜色为黑色);
g、 抽绳(5,5715,5);
对于(int行=0;行<28;行++)
{
g、 抽绳(20,25*(第1排)、700,25*(第1排));
}
for(int col=0;col<28;col++)
{
g、 抽绳(25*(立柱+1)、20、25*(立柱+1)、700);
}
}
}

提前感谢您的帮助。

您需要覆盖面板的
getPreferredSize
方法,并提供
尺寸
您希望面板现在正常工作,谢谢您的帮助。