小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在SWT里顯示AWT對(duì)象...

 軟件團(tuán)隊(duì)頭目 2008-12-13

今天遇到一個(gè)問(wèn)題,就是要在一個(gè)Eclipse插件里顯示JFreeChart的圖形,因?yàn)楹笳呤腔贘ava2D的,要把圖形顯示在SWT應(yīng)用程序里需要利用SWT-AWT橋接器來(lái)實(shí)現(xiàn),雖說(shuō)橋接的方式多半會(huì)伴隨著性能下降,但總歸是一個(gè)解決方法。

代碼并不復(fù)雜,以下是一個(gè)片斷:

public void createPartControl(Composite parent) {
    parent.setLayout(
new FillLayout(SWT.VERTICAL));
    Composite drawarea 
= new Composite(parent, SWT.EMBEDDED);
    drawarea.setLayout(
new FillLayout());
    Frame canvasFrame 
= SWT_AWT.new_Frame(drawarea);
    canvas 
= new java.awt.Canvas() {
        
public void paint(Graphics g) {
            super.paint(g);
            
if (chart != null)
                chart.draw((Graphics2D) g, getBounds());
        }

    }
;
    canvasFrame.add(canvas);
}

關(guān)鍵之處在于SWT_AWT.new_Frame()方法,得到的是一個(gè)java.awt.Frame對(duì)象,要顯示的AWT內(nèi)容都放在它上面就好。

BTW, SWT下免費(fèi)的圖表工具好象很少,只能暫時(shí)先這樣使用JFreeChart了。

Update: 如果要在SWT里顯示帶有動(dòng)畫(huà)效果的AWT圖形,最好在Frame上先放一個(gè)JPanel這樣的帶有雙緩沖的控件,否則圖象在運(yùn)動(dòng)時(shí)會(huì)產(chǎn)生明顯的閃爍。

posted on 2005-07-17 23:10 八進(jìn)制 閱讀(2921) 評(píng)論(6)  編輯 收藏 網(wǎng)摘 所屬分類: Java

評(píng)論

不知道您是否遇到過(guò)這樣的需求:要在一個(gè)GEF的Editor中顯示SWT控件?這時(shí)該怎么辦呢?
  回復(fù)  引用    

#2樓 [樓主] 2005-09-13 22:53 八進(jìn)制      
其實(shí)現(xiàn)在我就在為一個(gè)類似的問(wèn)題煩惱,而且我還沒(méi)有想出什么好辦法。
Draw2d里倒有一些簡(jiǎn)單的控件(Clickable的子類)可以放在editor里,我想你多半也知道了。
  回復(fù)  引用  查看    

這個(gè)我已作過(guò)試驗(yàn)。感覺(jué)這些控件較難控制,需要設(shè)置太多的東西。另外,還缺少如Table、Tree等對(duì)象,如果自己做也是很麻煩??鄲乐?
  回復(fù)  引用    

八進(jìn)制你好,我想問(wèn)下如何在得到或判斷出table中看不見(jiàn)的column?
  回復(fù)  引用    

canvas = new java.awt.Canvas() {
public void paint(Graphics g) {
super.paint(g);
if (chart != null)
chart.draw((Graphics2D) g, getBounds());
}
};
canvasFrame.add(canvas);
___________________________________________________________
干嗎不這樣呢?

canvasFrame.add(new ChartPanel(chart));
  回復(fù)  引用    

#6樓 [樓主] 2007-03-26 18:33 八進(jìn)制      
發(fā)現(xiàn)一個(gè)可以直接用在swt里的chart工具:RChart,需要付費(fèi)。
http://www./charts/chart.php
  回復(fù)  引用  查看    

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多