簡體   English   中英

在JPanel外部可以看到JPanel中的圖形

[英]Make Graphics from JPanel visible outside JPanel

我有一個矩形,我使用repaint()沿着JPanel移動。 當矩形的位置到達JPanel外部的位置時,它不再可見。 如何在JPanel外部顯示它?

這是我的繪畫方法:

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

更新:

我在JFrame中有多個JPanel,我使用GridBagLayout定位。 JPanels代表街道上的車道和矩形車。 在JPanel外部顯示矩形的原因是讓汽車改變車道。 JPanel似乎適合我,設置汽車的第一個位置。

這個問題有更好的解決方案嗎?

你說:

我有一個矩形,我使用repaint()沿着JPanel移動。 當矩形的位置到達JPanel外部的位置時,它不再可見。 如何在JPanel外部顯示它?

如果JPanel正在繪制它,簡短的答案是:“你不能”。

更長的答案取決於您嘗試繪制JPanel的位置以及GUI的其余部分是如何設置的。


編輯
你現在說:

我在JFrame中有多個JPanel,我使用GridBagLayout定位。 JPanels代表街道上的車道和矩形車。 在JPanel外部顯示矩形的原因是讓汽車改變車道。 JPanel似乎適合我,設置汽車的第一個位置。

如果我按照你的方式進行編碼,我不會讓這些本地JPanels繪制汽車,而是讓汽車成為自己的精靈,存在於街道的不同層上,可能使用JLayeredPane。 只要此JPanel不是不透明的,它就可以存在於自己的JPanel中,它包含整個地圖。 然后你可以按照自己喜歡的方式移動汽車。

如前所述,如果你想讓它占據更大的區域,你應該使JPanel更大或者將paintComponent放在父組件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM