2012-02-09 106 views
3

我有一个JFrame,其上有JPanelJPanelJFrame中是私有的)。现在我想通过使用paintComponent方法覆盖JPanel在jframe中为jpanel调用paintcomponent

我该怎么做?

+0

有点不清楚。你能不能请示例代码? – Mersenne 2012-02-09 22:37:43

+0

请把你的技术词汇正确:它是_extend_一个类和_override_一种方法 – kleopatra 2012-02-10 11:05:50

回答

4

当您创建的实例JPanel,(假设你做这种方式) ,这样做:

JPanel panel = new JPanel(){ 
    @Override 
    public void paintComponent(Graphics g){ 
     // paint code 
    } 
}; 

另一种方法是创建一个private class其中延伸JPanel
例如:

public class OuterClass{ 
    // fields, constructors, methods etc.. 

    private class MyPanel extends JPanel{ 
     // fields, constructors, methods etc.. 

     @Override 
     public void paintComponent(Graphics g){ 
      // paint code 
     } 

    } 
}