在paint(Graphics g)中可以,但反复调用。有没有其他方法。谢谢。

解决方案 »

  1.   

    这简单,Componet parent = null;paint(Graphics g){
      if(parent==null){
        parent = JPanel.getParent();
      }
    }
      

  2.   

    可以给JPanel加一函数setParent(Componet parent),在JFrame和JPanel都初始化之后,由JFrame调用JPanel的setParent(this),这样应该可以的。
      

  3.   

    除了paint(Graphics g)以外,还有其他地方吗
      

  4.   

    可以用JOptionPane的getFrameForComponent(component c)静态方法得到组件的父窗口