gpt4 book ai didi

java - 使来自 JPanel 的图形在 JPanel 外部可见

转载 作者:行者123 更新时间:2023-11-29 03:29:03 26 4
gpt4 key购买 nike

我有一个矩形,我使用 repaint() 沿着 JPanel 移动它。当矩形的位置到达 JPanel 之外的位置时,它就不再可见了。如何让它在 JPanel 之外可见?

这是我的绘画方法:

public void paintComponent (Graphics g) {
g.setColor(Color.red);
g.fillRect(dist, 0, 10, 10);
dist++;
}

更新:

我在使用 GridBagLayout 定位的 JFrame 中有多个 JPanel。 JPanel 代表街道中的车道和矩形汽车。使矩形在其 JPanel 外部可见的原因是让汽车改变车道。 JPanel 似乎适合我,用于设置汽车的第一个位置。

这个问题有更好的解决方案吗?

最佳答案

你声明:

I have a rectangle which I move along the JPanel using repaint(). When the position of the rectangle reaches a position outside the JPanel it is not visible anymore. How can I make it visible outside the JPanel?

如果 JPanel 正在绘制它,简短的回答是:“你不能”。

更长的答案将取决于您尝试绘制 JPanel 的位置以及其余 GUI 的设置方式。


编辑
你现在声明:

I have multiple JPanels in the JFrame which I positioned using the GridBagLayout. The JPanels represent Lanes in a Street and the rectangles cars. The reason to make the rectangles visible outside their JPanel is to have the cars change lanes. The JPanel seemed suitable to me, to set the first position of a car.

如果我按照您的方式进行编码,我不会让这些本地 JPanel 绘制汽车,而是让汽车成为它自己的 Sprite ,它存在于与街道不同的层上,也许使用 JLayeredPane。它可以存在于包含整个 map 的自己的 JPanel 中,只要此 JPanel 不是不透明的。然后您可以随心所欲地移动汽车。

关于java - 使来自 JPanel 的图形在 JPanel 外部可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19335017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com