繁体   English   中英

在jframe中为jpanel调用paintcomponent

[英]call paintcomponent for a jpanel in jframe

我有一个带有JPanelJFrameJPanelJFrame是私有的)。 现在我想通过使用paintComponent方法覆盖JPanel

我怎样才能做到这一点?

当您创建JPanel实例时(假设您这样做),请执行以下操作:

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

另一种方法是创建一个扩展 JPanelprivate class
例如:

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

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

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

    }
}

从你的问题不清楚,但我认为没有什么复杂的覆盖了Swing JComponents的paintComponent ,请避免使用方法paint()Swing JComponents ,只使用paintComponent()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM