寫在開始:
由于工作須要,做了一周時間的Rcp開發(fā),發(fā)現(xiàn)由于Eclipse開發(fā)方面的中文資料較少,對入門者來說有些困難,
所以把自己一周的內(nèi)容放上,共享給開始學(xué)習(xí)Eclipse開發(fā)的人
Eclipse開發(fā)中有很多名詞: 插件開發(fā) ,RCP ,SWT,Jface很容易讓人迷糊
做個大概的比喻,如果說SWT是C++的話 那么JFace就像STL對SWT做了簡單的封裝 Rcp就像MFC封裝更多
而插件開發(fā)和Rcp唯一不同就使導(dǎo)出不同,一個導(dǎo)出成plug in,另一個導(dǎo)出成獨(dú)立運(yùn)行的程序。其實沒有什么區(qū)別
好了,開始第一個程序,從Hello world開始。寫到這個地方,再次崇拜一下第一個寫Hello world的人。
真應(yīng)改給他搬個什么普及教育之類的獎項。
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是基于操做系統(tǒng)的,多大部分的控、 窗口都是調(diào)用系統(tǒng)的,所以得有一個東西
負(fù)責(zé)把java的消息轉(zhuǎn)變成系統(tǒng)消息,Display就是。
Shell可以簡單理解成就是窗口
Label就是一個標(biāo)簽了。
shell.open()顯視窗口
while (!shell.isDisposed()){
if (!display.readAndDispatch()){
display.sleep();
}
}
熟悉Windows下編程的人大概都知到,Windows的消息循環(huán)機(jī)制。
好了試著運(yùn)行一下這個程序,修改一下,找找感覺吧。
寫到這里忽然想起自己沒有寫如何配制SWT的開發(fā)環(huán)境,對于新手來說這個是重要的。
這里有一篇文章http://dev.yesky.com/409/2620409.shtml
如果鏈接失效的話google一下吧
說明:
這個系列的文章是基于eclipse 3.2.1的,另外推薦一些學(xué)習(xí)的資料或者網(wǎng)站
首先:http://www.eclipseworld.org/bbs/
然後:在上邊的論壇里邊有一些前輩們寫的教程,有些不錯值得一看