where you put these lines of code?

解决方案 »

  1.   

    我想在一个对话框里作图,这些代码写在这个对话框类的show()函数里。
      

  2.   

    然后在show()中调用paint()吗?paint()好像是自带的函数
      

  3.   

    to oscarjiao():你最好是覆盖JPanel的public void paintComponents(Graphics g),然后用repaint()调用
      

  4.   

    to hexiaofeng;你说的是在awt中,而在swing中,如果你改写了paint(),那么唯一的结果就是程序不能正常运行了,因为你的操作会和JComponent.paint()发生冲突。
      

  5.   

    application又不会自己调用paint()
      

  6.   

    我认为你不应该写show()方法,这个方法是原本就有的,用来显示出对话框,你这一写,不就给覆盖了吗?
      

  7.   

    to javalearner();我的jpanel是一个对话框中的一个控件,怎样覆盖paintcomponent(g),这个函数有什么用处,又怎么用repaint()调用,我编的是一个应用程序而不是applet,请解答,谢谢
      

  8.   

    to oscarjiao:明白,我也在做这方面的东西,如果你的JPanel没有被extends,那么就只能使用它默认的paintComponent()了,如果你要有自己的绘制方法,那么就应该extends JPanel,然后overrides这个JPanel子类的 paintComponent方法,在任何需要调用你的paintComponent 方法的地方使用repaint()来让系统自动调用paintComponent(),而不是你直接调用paintComponent(),不知道我这么说你看明白没有?
      

  9.   

    javalearner():我的qq是12826075,以后有什么这方面的问题我们可以讨论一下好吗?
      

  10.   

    可我的jpanel是在一个我自己建的基于jdialog的类重的一个控件,那么我用什么类来extends jpanel呢(难道是对话框吗),又如何overrides paintcomponent()?