【问题标题】:Draw lines on jpanel在jpanel上画线
【发布时间】:2013-01-04 20:24:22
【问题描述】:

我想让它像 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);
...

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

【问题讨论】:

标签: java swing jpanel draw graphics2d


【解决方案1】:

您可以简单地为 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 已经是可以容纳您的组件的容器。

【讨论】:

  • @mike - 也可以建议致电super.paintComponent - 只是因为通过向super.paintXxx 添加适当的电话来解决大量问题;)
猜你喜欢
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
  • 1970-01-01
相关资源
最近更新 更多