我怎么在自己的组件上画图,比如在JBUTTON上画一个三角
要求使用重写函数的方法
还有个问题
我不重写函数
利用
Graphics g;
g=button.getGraphics();
g.xxxx();
为什么画出来的图鼠标一点就没了 
高手来啊

解决方案 »

  1.   

    鼠标一点JButton会进行重绘,你之前的绘制就没有了。你要画图应该重写组件的paintComponent(Graphics g)方法。
      

  2.   

    或者重载改组建的paint()方法
      

  3.   

    SWT里面就是修改组件的paint()方法,就是在里面加上你自己的绘画语句就可以了,调用gc进行绘画,但是一定要记得关闭gc
      

  4.   

    问题是我如何重写
    总是要继承JPANEL
    我很困惑这样干的原因,重写不出来
      

  5.   

    不用继承JPanel,你要在JButton上画继承JButton就可以了。
    class MyButton extends JButton{
            public void paintComponent(Graphics g){
                    super.paintComponent(g);
                    // 在下面写你的绘制代码
                    //g.drawXXX
            }
    }
      

  6.   

    可以用画好的图形,然后在new Incon()