您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關SWT、Swing和AWT有什么區別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
自IBM公司提供的跨平臺GUI開發包SWT以來,越來越多受到廣大程序員的親睞,已經有不少程序員用它開發出美觀、高效、實用的桌面應用程序。這讓我們更有理由去探索SWT給我們帶來的驚奇。
SWT在外觀和性能上都超過了Swing和AWT,為什么這樣說呢?下面簡單的測試程序會讓你一目了然。廢話也不多說,讓我們看Swing和AWT程序。
下面讓我們寫一個簡單的程序來測試一下,程序只做一件事,就是用Label顯示”HelloWorld!”,我的測試環境是JDK1.5.0+Eclipse3.1。看看在SWT、Swing和AWT下分別實現該效果所需要的時間和內存消耗。
AWT_CODE:
import java.awt.Frame; import java.awt.Label; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class awtTest { public static void main(String[] args) { long memory = 0L; long time = 0L; memory = Runtime.getRuntime().freeMemory(); time = System.currentTimeMillis(); Frame frame = new Frame(); Label label = new Label(); label.setText("Hello World!"); frame.add(label); frame.setVisible(true); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); } }); frame.pack(); System.out.println(System.currentTimeMillis() - time); System.out.println(memory - Runtime.getRuntime().freeMemory()); } }
SWING_CODE:
import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class swingTest { public static void main(String[] args) { long memory = 0L; long time = 0L; memory = Runtime.getRuntime().freeMemory(); time = System.currentTimeMillis(); JFrame frame = new JFrame(); JLabel label = new JLabel(); label.setText("Hello World!"); frame.add(label); frame.setVisible(true); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); } }); frame.pack(); System.out.print("Time:"); System.out.println(System.currentTimeMillis() - time); System.out.print("Memory:"); System.out.println(memory - Runtime.getRuntime().freeMemory()); } }
SWT_CODE:
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.SWT; public class swtTest { public static void main(String[] args) { long memory = 0L; long time = 0L; memory = Runtime.getRuntime().freeMemory(); time = System.currentTimeMillis(); Display display = new Display(); Shell shell = new Shell(display); Label label = new Label(shell, SWT.NONE); label.setText("Hello World!"); shell.pack(); label.pack(); shell.open(); System.out.print("Time:"); System.out.println(System.currentTimeMillis() - time); System.out.print("Memory:"); System.out.println(Runtime.getRuntime().freeMemory() - memory); while(!shell.isDisposed()) { if(!display.readAndDispatch()) { display.sleep(); } } display.dispose(); label.dispose(); } }
關于“SWT、Swing和AWT有什么區別”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。