今天遇到一個(gè)問(wèn)題,就是要在一個(gè)Eclipse插件里顯示JFreeChart的圖形,因為后者是基于Java2D的,要把圖形顯示在SWT應用程序里需要利用SWT-AWT橋接器來(lái)實(shí)現,雖說(shuō)橋接的方式多半會(huì )伴隨著(zhù)性能下降,但總歸是一個(gè)解決方法。
代碼并不復雜,以下是一個(gè)片斷:





















關(guān)鍵之處在于SWT_AWT.new_Frame()方法,得到的是一個(gè)java.awt.Frame對象,要顯示的AWT內容都放在它上面就好。
BTW, SWT下免費的圖表工具好象很少,只能暫時(shí)先這樣使用JFreeChart了。
Update: 如果要在SWT里顯示帶有動(dòng)畫(huà)效果的AWT圖形,最好在Frame上先放一個(gè)JPanel這樣的帶有雙緩沖的控件,否則圖象在運動(dòng)時(shí)會(huì )產(chǎn)生明顯的閃爍。

聯(lián)系客服