我需要一些Java Swing组件及其功能方面的帮助。我需要向JPanel
添加JFrame
并在其上绘制Ellipse2D
。在Ellipse2D
上我想添加另一个元素,在我的例子中它是一张图片(现在我使用ImageIcon
,也许是错误的)。如何在面板中添加Ellipse2D
和图片,如附图所示?
我需要分离图像的原因是,因为我有时需要更改椭圆的填充颜色。
感谢您的帮助。
答案 0 :(得分: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()
方法。
答案 1 :(得分:2)
通知JLayer
仅适用于Java7,但它基于(适用于Java6)JXLayer
您也可以使用(我正在使用)GlassPane
,使用相同的/ similair输出到Swing GUI
修改
使用OverlayLayout输出非常简单明了,可以使用J/Component
覆盖Graphics
(s),例如a few examples
答案 2 :(得分: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);