我想让它像在 jframe 上而是在 jpanel 上绘制一个尺子(带有 90 度角刻度线的线) 。
所以我尝试了:
JFrame f = new JFrame();
JPanel ff = new JPanel();
ff.add(new JComponent() {
...
});
f.add(ff);
...
但我失败了。:( 如何?
我想让它像在 jframe 上而是在 jpanel 上绘制一个尺子(带有 90 度角刻度线的线) 。
所以我尝试了:
JFrame f = new JFrame();
JPanel ff = new JPanel();
ff.add(new JComponent() {
...
});
f.add(ff);
...
但我失败了。:( 如何?
您可以简单地覆盖paintComponent(Graphics g){}
ff 并在该方法中绘制您的。
IE
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 已经是可以容纳您的组件的容器。