2

我需要一些有关 Java Swing 组件及其功能的帮助。我需要将 a 添加JPanel到 aJFrame并在其上绘制 an Ellipse2D。在Ellipse2D我想添加另一个元素的上面,在我的情况下它是一张图片(现在我使用一个ImageIcon,可能是错误的)。Ellipse2D如我所附图片所示,如何在面板上添加和图片?

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

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

4

3 回答 3

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.

}

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

于 2012-06-26T11:32:47.853 回答
2

编辑

使用OverlayLayoutJ/Component非常简单和漂亮的输出,可以使用Graphics例如几个示例进行覆盖

于 2012-06-26T11:42:20.893 回答
0

将这两个图像作为图像图标

ImageIcon car=new ImageIcon("image path");
ImageIcon elipse=new ImageIcon("image path");

添加这两个图像图标两个标签

JLabel carLabel=new JLabel(car);
JLabel ellipseLabel=new JLabel(ellipse);

并设置椭圆和汽车的位置

carLabel.setBounds(0,0,50,50);
ellipseLabel.setBounds(10,10,50,50);
于 2012-06-27T05:18:43.407 回答