绘制其他对象时覆盖的对象

时间:2014-04-22 14:44:59

标签: java swing object

我需要绘制一些对象到屏幕(矩形等),但是在绘制矩形后调用super.paint(g)时,矩形不会显示。

已添加JPanel。

这是我的代码:

    @Override public void paintComponent(Graphics g) {

  super.paintComponent(g); 


  Color c1 = Color.white;
  g.setColor( c1 );
  g.drawLine( 50, 50, 325, 350 ); // start line
      //super.paint(g);

    g.dispose();

我尝试将super.paint(g);放在前后无效,我想要添加的对象不会被绘制。

1 个答案:

答案 0 :(得分:3)

  1. 不要覆盖paint()。自定义绘画是通过覆盖paintComponent(g)方法完成的。
  2. paintComponent(Graphics g)方法中的第一个语句应为super.paintComponent(g)。这将绘制组件的背景颜色。
  3. 然后你做自定义绘画。
  4. 阅读Custom Painting上Swing教程中的部分,了解更多信息和示例。

      

    我是java的新手

    然后我建议你也看看" trail"从上面的教程链接到Swing基础知识的目录。