(英文原文:http://www.eclipse.org/swt/faq.php)
翻譯:Frank(frank(at)zijinshi.cn)
版本:Version 1.0
The SWT FAQ
-
Q1.問:SWT由哪些包組成?
-
答:所有以
org.eclipse.swt開頭的包。
以下是組成SWT的所有的包的列表:
- org.eclipse.swt
- org.eclipse.swt.accessibility
- org.eclipse.swt.awt
- org.eclipse.swt.browser
- org.eclipse.swt.custom
- org.eclipse.swt.dnd
- org.eclipse.swt.events
- org.eclipse.swt.graphics
- org.eclipse.swt.internal.* (僅供內部使用,不是對外公開的API,所以請不要使用包內的類)
- org.eclipse.swt.layout
- org.eclipse.swt.opengl
- org.eclipse.swt.ole.win32 (僅Windows作業系統可用)
- org.eclipse.swt.printing
- org.eclipse.swt.program
- org.eclipse.swt.widgets
只有以上列出來的包才屬於SWT,其它的都不不是。
-
-
Q2.問: SWT 支援JavaBeans 嗎?
-
答:在某種程度上來說,這很有意義。但是鑒於作業系統相容性的約束,SWT鏡像了JavaBean的行為。典型的例子就是使用了標準JavaBean的事件分發機制(EventListener, EventObject 和 adapter類)。當然,JavaBean的某些方面特性在SWT裡並沒有實現,比如說能夠用null構造器建立bean,違反SWT啟動並執行底層作業系統的約束。例如,作業系統中,如果一個組建沒有指定的parent,是無法建立的。
實際上,問題的本質就是如果你利用一個null建立器建立了一個組件,那麼當建構函式啟動並執行時候,實際上你並沒有真正地建立系統資源(你不得不等到它的parent被制定了之後才能建立)。鑒於效能、效率和一致性等各方面的因素,SWT並不會跟蹤對象的狀態,去判斷該對象是否在之後被建立。
(說明:由於不懂JavaBean,我不確定這一段翻譯得是否準確。如有不對,請指出來哦)
-
-
(待續…)