最后,您提出了一个要求:
我只是想将jframe中的矩形图像与圆图像的另一个Jpanel一起放置。 看看我在将两个Jpanel混合在一起而不重叠的情况下能走多远。
是的,可以做到这一点,例如,通过使用JLayeredPane,可以将一个JPanel层叠在另一个JPanel上,但是您需要确保上面的JPanel不是不透明的( setOpaque(false) )。
但是话虽如此,我仍然支持我的评论,即您正在寻找解决此错误的方法。 您不应该为绘制一件事而创建一个JPanel并尝试合并多个JPanel,因为这会导致一团糟。 相反,您应该考虑创建一个绘图JPanel,并为其提供逻辑对象,例如非GUI Obstacle对象,将其放入诸如ArrayList的集合中,然后在绘图JPanel中,遍历绘图JPanel的paintComponent方法中的所有障碍。 ,绘制每个障碍物的方向。
编辑
例如:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.RenderingHints;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
public class ObstacleDrawer extends JPanel {
private stat