如何在JPanel上添加多个图层

nyy*_*kki 2 java swing paintcomponent

我需要一些Java Swing组件及其功能方面的帮助.我需要一个添加JPanelJFrame和油漆的Ellipse2D就可以了.在Ellipse2D我想要添加另一个元素,在我的情况下它是一张图片(现在我使用一个ImageIcon,也许是错误的).如何Ellipse2D在面板上添加和添加图片,如附图所示?

我需要分离图像的原因是,因为我需要有时改变椭圆的填充颜色.

谢谢你的帮助.在此输入图像描述

npe*_*npe 6

您需要的是创建自定义JPanel实现和覆盖paintComponent方法.

在里面,你只需:

public void paintComponent(Graphics g) {

    super.paintComponent(g);

    // Draw ellipse here

    // Draw your image here. It will be drawn on top of the ellipse.

}
Run Code Online (Sandbox Code Playgroud)

这样,您可以在CustomPanel类中保存椭圆填充颜色,并repaint()在更改颜色后调用方法.