我想让它像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);
...
但我失败了。 :( 怎么样?
答案 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已经是一个可以容纳您的组件的容器。