开发者

Paint a board by extending JPanel

I want to paint a board that looks like this:

Paint a board by extending JPanel

by extending 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);

 开发者_JAVA百科       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;
        }
    }
}

For 9 lines I came up with this:

Paint a board by extending JPanel

Which layout do I have to use to get the space around the board? In my example I used a box layout aligning some labels around the jpanel.

How do I have to change my paint method to get the grid you see in the first picture? It seems that I am missing the two last lines.


The reason why your grid doesn't look finished in the x direction, is that you are using the same

h += getHeight()/this.lines;

increment for each direction, but each direction is a different size. So either make the board a square, or have different increments in each direction.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜