[英]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.