如何在JPanel上绘制一个矩形?

时间:2014-03-27 14:18:41

标签: java graphics java-2d rectangles

我想在JPanel之上绘制一个矩形。接下来我想为这个矩形设置正确的位置。这就是我这样做的方式。 我尝试更改g.fillRect(margin, margin, 30, 30)中的数字,但我的矩形始终位于JPanel的中心。为什么呢?

JPanel chartPanel = new JPanel();

// here we add components to chartPanel
// ...

chartPanel.add(new LegoBox());

class LegoBox extends JPanel {

    public void paintComponent(Graphics g) {
            super.paintComponent(g);
            int margin = 0;          
            g.setColor(Color.red);
            g.fillRect(margin, margin, 30, 30);
    }
}

1 个答案:

答案 0 :(得分:0)

也许是来自LayoutManager的{​​{1}}? 要重现你的问题,你必须张贴一个有效的例子 尝试使用自定义面板填充chartPanel

chartPanel

的paintComponent:

chartPanel.setLayoutManager(new BorderLayout());
chartPanel.add(new LegoBox(), BorderLayout.CENTER);