由於JPanel和Canvas都是同一級別的組件,因此解決方案可能會是某種'黑客'。 This問題說,你將無法將輕量級組件添加到重量級畫布(我希望JPanel透明)。將JPanel添加到Canvas
如果這不是可行的,那麼會把一個透明的組件工作?另外,將Swing組件添加到組件是否可行(即使它不好,它也必須工作)。我怎樣才能把它放在畫布上(因爲它們都是同一層次的組件)?
注:我絕不會做這樣的事情在一個真正的應用程序,我只需要它在這種情況下
由於JPanel和Canvas都是同一級別的組件,因此解決方案可能會是某種'黑客'。 This問題說,你將無法將輕量級組件添加到重量級畫布(我希望JPanel透明)。將JPanel添加到Canvas
如果這不是可行的,那麼會把一個透明的組件工作?另外,將Swing組件添加到組件是否可行(即使它不好,它也必須工作)。我怎樣才能把它放在畫布上(因爲它們都是同一層次的組件)?
注:我絕不會做這樣的事情在一個真正的應用程序,我只需要它在這種情況下
一一種可能是對的JPanel添加到任何容器中的畫布上,然後設置的顏色JPanel的alpha爲0.這應該將它添加到舊的,而不會阻塞Canvas。這是你想要的嗎?
編輯:關於它的思考,JPanel的默認顏色是透明的......你就應該能夠超過它
畫布在JFrame中。我添加了JPanel,但它顯示在Canvas下面。 – LanguagesNamedAfterCofee 2012-07-24 04:13:50
啊,對不起,沒有想過這個。畫布是一個重量級的組件,所以它仍然保持在最前面。 請參閱:http://java.sun.com/developer/technicalArticles/GUI/mixing_components/index.html 不要以爲有辦法做到這一點 – 2012-07-24 04:28:31
是否有可能只使用面板並添加JPanel呢? – LanguagesNamedAfterCofee 2012-07-24 05:17:30
添加的JPanel畫布的父,並將其放在你綁在使用'Canvas'? – akf 2012-07-24 03:32:58
@afk是的,我是。 – LanguagesNamedAfterCofee 2012-07-24 03:35:46
***爲什麼**你被綁定到使用'帆布'?*你在這裏實際上想要達到什麼目的? – 2012-07-24 04:30:07