SWT比价Swing和AWT

自IBM公司提供的跨平台GUI开发包SWT以来,越来越多受到广大程序员的亲睐,已经有不少程序员用它开发出美观、高效、实用的桌面应用程序。这让我们更有理由去探索SWT给我们带来的惊奇。

创新互联是一家专业提供志丹企业网站建设,专注与网站设计制作、成都网站设计H5网站设计、小程序制作等业务。10年已为志丹众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

SWT在外观和性能上都超过了Swing和AWT,为什么这样说呢?下面简单的测试程序会让你一目了然。废话也不多说,让我们看Swing和AWT程序。

下面让我们写一个简单的程序来测试一下,程序只做一件事,就是用Label显示”HelloWorld!”,我的测试环境是JDK1.5.0+Eclipse3.1。看看在SWT、Swing和AWT下分别实现该效果所需要的时间和内存消耗。

AWT_CODE:

 
 
 
  1. import java.awt.Frame;
  2. import java.awt.Label;
  3. import java.awt.event.WindowAdapter;
  4. import java.awt.event.WindowEvent;
  5. public class awtTest {
  6. public static void main(String[] args) {
  7. long memory = 0L;
  8. long time = 0L;
  9. memory = Runtime.getRuntime().freeMemory();
  10. time = System.currentTimeMillis();
  11. Frame frame = new Frame();
  12. Label label = new Label();
  13. label.setText("Hello World!");
  14. frame.add(label);
  15. frame.setVisible(true);
  16. frame.addWindowListener(new WindowAdapter() {
  17. public void windowClosing(WindowEvent we) {
  18. System.exit(0);
  19. }
  20. });
  21. frame.pack();
  22. System.out.println(System.currentTimeMillis() - time);
  23. System.out.println(memory - Runtime.getRuntime().freeMemory());
  24. }
  25. }

SWING_CODE:

 
 
 
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import java.awt.event.WindowAdapter;
  4. import java.awt.event.WindowEvent;
  5. public class swingTest {
  6. public static void main(String[] args) {
  7. long memory = 0L;
  8. long time = 0L;
  9. memory = Runtime.getRuntime().freeMemory();
  10. time = System.currentTimeMillis();
  11. JFrame frame = new JFrame();
  12. JLabel label = new JLabel();
  13. label.setText("Hello World!");
  14. frame.add(label);
  15. frame.setVisible(true);
  16. frame.addWindowListener(new WindowAdapter() {
  17. public void windowClosing(WindowEvent we) {
  18. System.exit(0);
  19. }
  20. });
  21. frame.pack();
  22. System.out.print("Time:");
  23. System.out.println(System.currentTimeMillis() - time);
  24. System.out.print("Memory:");
  25. System.out.println(memory - Runtime.getRuntime().freeMemory());
  26. }
  27. }

SWT_CODE:

 
 
 
  1. import org.eclipse.swt.widgets.Display;
  2. import org.eclipse.swt.widgets.Shell;
  3. import org.eclipse.swt.widgets.Label;
  4. import org.eclipse.swt.SWT;
  5. public class swtTest {
  6. public static void main(String[] args) {
  7. long memory = 0L;
  8. long time = 0L;
  9. memory = Runtime.getRuntime().freeMemory();
  10. time = System.currentTimeMillis();
  11. Display display = new Display();
  12. Shell shell = new Shell(display);
  13. Label label = new Label(shell, SWT.NONE);
  14. label.setText("Hello World!");
  15. shell.pack();
  16. label.pack();
  17. shell.open();
  18. System.out.print("Time:");
  19. System.out.println(System.currentTimeMillis() - time);
  20. System.out.print("Memory:");
  21. System.out.println(Runtime.getRuntime().freeMemory() - memory);
  22. while(!shell.isDisposed()) {
  23. if(!display.readAndDispatch()) {
  24. display.sleep();
  25. }
  26. }
  27. display.dispose();
  28. label.dispose();
  29. }
  30. }

名称栏目:SWT比价Swing和AWT
网站路径:http://www.mswzjz.cn/qtweb/news30/128730.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能