在jpanel上画线

时间:2013-01-04 20:24:22

标签: java swing jpanel draw graphics2d

我想让它像Draw a ruler (line with tick marks at 90 degree angle)一样,不是在jframe上,而是在jpanel上。

所以我试过了:

JFrame f = new JFrame();
JPanel ff = new JPanel();

ff.add(new JComponent() {
...
});

f.add(ff);
...

但我失败了。 :( 怎么样?

1 个答案:

答案 0 :(得分:4)

您只需为ff覆盖paintComponent(Graphics g){},然后在该方法中绘制。

JPanel ff = new JPanel(){ 
    public void paintComponent(Graphics g){
        // Draw what you want to appear on your JPanel here.
        // g.drawLine(blah blah blah), etc.
    }
};

在这种情况下你不需要这个......

ff.add(new JComponent() {
    ...
});

除非您希望在所提供的链接中按照建议实施自定义组件,否则不需要此通用组件。如果您确实想要创建这样的自定义组件,那么您不需要ff,因为JFrame已经是一个可以容纳您的组件的容器。