通过扩展JPanel来绘制板

时间:2011-04-17 16:29:04

标签: java jpanel

我想画一块看起来像这样的板子:

enter image description here

通过扩展 JPanel

import javax.swing.*;
import java.awt.Graphics;

class GoBoard extends JPanel{
    private int lines;

    public GoBoard(){
        this.lines = 9;
    }

    public GoBoard(int pLines){
        this.lines = pLinien;
    }

    public void paint(Graphics g){
        super.paint(g);

        int d = 0;
        int h = 0;

        for(int i = 0; i < this.lines+1; i++){
            g.drawLine(0,h, getWidth(), h);
            g.drawLine(h,0,h,getHeight());

            h += getHeight()/this.lines;
        }
    }
}

对于9行我想出了这个:

enter image description here

我必须使用哪种布局来获得电路板周围的空间?在我的示例中,我使用了一个框布局来对齐jpanel周围的一些标签。

如何更改我的绘画方法以获得您在第一张图片中看到的网格?似乎我错过了最后两行。

1 个答案:

答案 0 :(得分:2)

您的网格在x方向看起来没有完成的原因是您使用相同的

h += getHeight()/this.lines;

每个方向的增量,但每个方向的大小不同。因此要么使电路板成为正方形,要么在每个方向上具有不同的增量。