SWT的視覺化控制元件的X11視窗控制程式碼簡介(轉)

BSDLite發表於2007-08-15
SWT的視覺化控制元件的X11視窗控制程式碼簡介(轉)[@more@]  SWT與AWT本質上都是一套依賴於作業系統具體實現的GUI庫。與swing在所有作業系統上外觀一致的做法不同,awt和swt在不同的作業系統上的外觀是和本地視窗一樣的。

  每一個swt和awt的視窗都對應一個本地視窗(native window),自然也會有一個視窗控制程式碼。而swing則不同,是沒有本地視窗控制程式碼的。在獲得視窗控制程式碼之後,就可以和用其他的語言(比如C++)實現的 GUI應用程式進行一些互操作。比如我們可以呼叫一些SetParene()之類的方法把一個本地的視窗嵌入到一個SWT的視窗裡來,反之亦然。這樣就提供了一個建立更豐富美觀的,可擴充性更強的GUI應用程式的手段。

  關於AWT的視窗控制程式碼如何獲得,就不多說了。大家可以參考一下你的jdk的安裝目錄的include子目錄,可以看到裡面有一個jawt.h,裡面有一個很容易看懂的得到系統的window handle的sample. 我是用的linux上的SUN j2sdk 1.4,在include/linux子目錄裡還可以看到jawt_md.h.裡面定義了一個struct:
CODE:
typedef struct jawt_X11DrawingSurfaceInfo {
Drawable drawable;
Display* display;
VisualID visualID;
Colormap colormapID;
int depth;
/*
* Since 1.4
* Returns a pixel value from a set of RGB values.
* This is useful for paletted color (256 color) modes.
*/
int (JNICALL *GetAWTColor)(JAWT_DrawingSurface* ds,
int r, int g, int b);
} JAWT_X11DrawingSurfaceInfo;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-959872/,如需轉載,請註明出處,否則將追究法律責任。

SWT的視覺化控制元件的X11視窗控制程式碼簡介(轉)
請登入後發表評論 登入
全部評論

相關文章