java - 在 jframe 中为 jpanel 调用 paintcomponent

标签 java swing jframe jpanel paintcomponent

我有一个 JFrame,上面有一个 JPanel(JPanelJFrame 中是私有(private)的)。现在我想使用 paintComponent 方法覆盖 JPanel

我该怎么做?

最佳答案

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

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

另一种选择是创建一个私有(private)类,它扩展 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
       }

    }
}

关于java - 在 jframe 中为 jpanel 调用 paintcomponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9219762/

相关文章:

java - 如何防止 Spring Boot Batch 应用程序在执行测试时运行?

java - 在kafka消费者中获取重复项

java - WindowsLookAndFeel 有关按钮颜色的意外行为

java - 从关闭的 JDialog 对象调用 Jframe 对象

java - JFrame 上的 MouseListener 只监听边框

Java - 如何添加 JComboBox header

java - ECDSA KeyPairGenerator 不可用(但在 JUnit 中有效)

java - Java中如何处理表单?

java - 在 Swing 应用程序中组织 Action ?

java - 如何添加在两列之间动态平均分配的组件?