2011-01-28 19 views
0

我有一個基類Company_1_Canvas和另一個Company_2_Canvas。我想將Company_2_Canvas加入Company_1_CanvasJava:將awt.Canvas轉換爲容器?

事實上,我的第一個畫布應該作爲容器而不是畫布。

你有什麼想法做到這一點嗎?

備註:解釋爲什麼我需要這個(設計並不完美,我知道)!對不起!

我嘗試重新定義第一個畫布的'paint'方法,但第二個畫布沒有'graphics'對象,因爲它不是控件層次結構的一部分!

請注意,這兩個畫布都有C++原生方法與畫布一起玩,所以我不能改變它!

+1

似乎是你在帆布監獄,因爲畫布不是容器,也不能包含任何其他元素。此外,我無法想象你的組件`paint`方法會如何協同工作。 – Riduidel 2011-01-28 15:30:20

回答

0

最佳的解決方案是重新設計和完全擺脫這個混亂和Canvas

可能的解決方法是讓Canvas1將一個Graphics對象傳遞給Canvas2,使其在Canvas1上繪製。