寫在開始:
由于工作須要,做了一周時間的Rcp開發,發現由于Eclipse開發方面的中文資料較少,對入門者來說有些困難,
所以把自己一周的內容放上,共享給開始學習Eclipse開發的人
Eclipse開發中有很多名詞: 插件開發 ,RCP ,SWT,Jface很容易讓人迷糊
做個大概的比喻,如果說SWT是C++的話 那么JFace就像STL對SWT做了簡單的封裝 Rcp就像MFC封裝更多
而插件開發和Rcp唯一不同就使導出不同,一個導出成plug in,另一個導出成獨立運行的程序。其實沒有什么區別
好了,開始第一個程序,從Hello world開始。寫到這個地方,再次崇拜一下第一個寫Hello world的人。
真應改給他搬個什么普及教育之類的獎項。
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class HelloSWT {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Label label = new Label(shell, SWT.CENTER);
label.setText("Hello, World");
label.setBounds(shell.getClientArea());
shell.open();
while (!shell.isDisposed()){
if (!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
首先介紹Display,打家都知到Swt是基于操做系統的,多大部分的控、 窗口都是調用系統的,所以得有一個東西
負責把java的消息轉變成系統消息,Display就是。
Shell可以簡單理解成就是窗口
Label就是一個標簽了。
shell.open()顯視窗口
while (!shell.isDisposed()){
if (!display.readAndDispatch()){
display.sleep();
}
}
熟悉Windows下編程的人大概都知到,Windows的消息循環機制。
好了試著運行一下這個程序,修改一下,找找感覺吧。
寫到這里忽然想起自己沒有寫如何配制SWT的開發環境,對于新手來說這個是重要的。
這里有一篇文章http://dev.yesky.com/409/2620409.shtml
如果鏈接失效的話google一下吧
說明:
這個系列的文章是基于eclipse 3.2.1的,另外推薦一些學習的資料或者網站
首先:http://www.eclipseworld.org/bbs/
然後:在上邊的論壇里邊有一些前輩們寫的教程,有些不錯值得一看
最后:當然不可少的是ibm的網站和eclipse的官方網站