AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。

对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。

在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。

而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。

  1. package Com.MySwing;
  2. import java.awt.GridBagConstraints;
  3. import java.awt.GridBagLayout;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import javax.swing.JButton;
  7. import javax.swing.JFrame;
  8. import javax.swing.JLabel;
  9. import javax.swing.JPanel;
  10. import javax.swing.JTextArea;
  11.  
  12. public class TwelveSwing {
  13.  
  14. public void go(){
  15. JFrame frame = new JFrame("login");
  16. frame.setSize(400,200);//设置窗体大小
  17. frame.setVisible(true);//设置窗体可见
  18.  
  19. JPanel panel = new JPanel();
  20. panel.setLayout(new GridBagLayout());
  21.  
  22. JLabel username = new JLabel("username");
  23. JLabel password = new JLabel("password");
  24.  
  25. JTextArea username_input = new JTextArea("1");
  26. JTextArea password_input = new JTextArea("2");
  27.  
  28. JButton ok = new JButton("OK");
  29. JButton cancel = new JButton("Cancel");
  30. JButton register = new JButton("Register");
  31.  
  32. panel.add(username);
  33. panel.add(password);
  34.  
  35. panel.add(username_input);
  36. panel.add(password_input);
  37.  
  38. panel.add(ok);
  39. panel.add(cancel);
  40. panel.add(register);
  41. frame.add(panel);
  42. frame.setVisible(true);
  43.  
  44. GridBagConstraints c= new GridBagConstraints();
  45.  
  46. c.gridx=1;
  47. c.gridy=1;
  48. c.weighty=4;
  49. c.weightx=2;
  50. panel.add(username,c);
  51.  
  52. c.gridx=2;
  53. c.gridy=1;
  54. c.gridwidth=1;
  55. c.fill = GridBagConstraints.HORIZONTAL;
  56. panel.add(username_input,c);
  57. c.fill =GridBagConstraints.NONE;
  58.  
  59. c.gridx=1;
  60. c.gridy=2;
  61. c.gridwidth=1;
  62. panel.add(password,c);
  63.  
  64. c.gridx =2;
  65. c.gridy =2;
  66. c.gridwidth =1;
  67. c.fill = GridBagConstraints.HORIZONTAL;
  68. panel.add(password_input,c);
  69. c.fill =GridBagConstraints.NONE;
  70.  
  71. c.gridx=1;
  72. c.gridy=8;
  73. c.gridwidth=1;
  74. panel.add(ok,c);
  75.  
  76. c.gridx=2;
  77. c.gridy=8;
  78. c.gridwidth=1;
  79. panel.add(cancel,c);
  80.  
  81. c.gridx=3;
  82. c.gridy=8;
  83. c.gridwidth=1;
  84. panel.add(register,c);
  85.  
  86. frame.setVisible(true);
  87. ok.addActionListener(new ActionListener(){
  88. public void actionPerformed(ActionEvent e){
  89. }
  90. });
  91.  
  92. cancel.addActionListener(new ActionListener(){
  93. public void actionPerformed(ActionEvent e){
  94. }
  95. });
  96.  
  97. register.setEnabled(false);
  98. }
  99.  
  100. public static void main(String[] args ){
  101. TwelveSwing tw=new TwelveSwing();
  102. tw.go();
  103. }
  104. }

AWT和Swing之间的基本区别的更多相关文章

  1. AWT与Swing的区别

    AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口.AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关 ...

  2. AWT和Swing的关系

    1.AWT和Swing都是java中的包. 2.AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包,AWT是通过调用操作系统的native方法实现的 ...

  3. 浅谈JAVA GUI中,AWT与Swing的区别、联系及优缺点

    浅谈JAVA GUI中,AWT与Swing的区别.联系及优缺点 A.区别 1.发布的时间 AWT是在JDK 1.0版本时提出的 Swing是在AWT之后提出的(JAVA 2) 2. ”重量” AWT是 ...

  4. 十一:Java之GUI图形Awt和Swing

    一. AWT和 Swing AWT 和 Swing 是 Java 设计 GUI用户界面的基础.与 AWT 的重量级组件不同,Swing 中大部分是轻量级组件.正是这个原因,Swing 差点儿无所不能, ...

  5. Java中AWT、Swing与SWT三大GUI技术的原理与效率差异

    Java中AWT.Swing与SWT三大GUI技术的原理与效率差异 转 https://blog.csdn.net/weixin_37703598/article/details/81843810   ...

  6. <%@page include%>、<%@include%>、<jsp:include>三者之间的本质区别

    <%@page include%>.<%@include%>.<jsp:include>三者之间的本质区别 先从它的几个内置对象说起. application和se ...

  7. 不同版本PHP之间cURL的区别(-经验之谈)

    之前在做一个采集的工具,实现采集回来的文章,图片保存起来.文章内容是保存在数据库,图片是先需要上传到图片服务器,再返回图片地址,替换掉文章的图片地址. 问题来了:都能成功采集都东西,但是,本地测试是正 ...

  8. Exception和IOException之间的使用区别

    Exception和IOException之间的使用区别 先看一段代码.这段代码来自<深入剖析tomcat>   public void await() { // 创建ServerSock ...

  9. java中GUI的awt和Swing的知识点

    刚刚学习了java的GUI,写了几个程序,基本熟悉了awt和Swing,下面和大家分享一下知识点 1.JFrame的层次结构 参考:http://tieba.baidu.com/p/200421612 ...

随机推荐

  1. angular学习笔记(三十)-指令(10)-require和controller

    本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...

  2. [Windows Azure] Building worker role B (email sender) for the Windows Azure Email Service application - 5 of 5.

    Building worker role B (email sender) for the Windows Azure Email Service application - 5 of 5. This ...

  3. Redis List数据类型

    一.概述:      在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在, ...

  4. vue实现点击区域外部的区域,关闭该区域

    var _this = this; document.addEventListener('click',function(e){ console.log(_this.$refs.configforms ...

  5. spring util list

    spring 3.0 after <util:list/>元素 借助<list/>元素,开发者能够定义java.util.List集合.下面摘录了list.xml中的配置信息. ...

  6. 1. pyhanlp介绍和简单应用

    1. pyhanlp介绍和简单应用 2. 观点提取和聚类代码详解 1. 前言 中文分词≠自然语言处理! 中文分词只是第一步:HanLP从中文分词开始,覆盖词性标注.命名实体识别.句法分析.文本分类等常 ...

  7. 'Project Name' was compiled with optimization

    'Project Name' was compiled with optimizationhtml, body {overflow-x: initial !important;}html { font ...

  8. Swift 编程思想 阅读笔记

    Swift 编程思想,第一部分:拯救小马html, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeM ...

  9. Java编程的逻辑 (44) - 剖析TreeSet

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  10. hbase源码系列(七)Snapshot的过程

    在看这一章之前,建议大家先去看一下snapshot的使用.可能有人会有疑问为什么要做Snapshot,hdfs不是自带了3个备份吗,这是个很大的误区,要知道hdfs的3个备份是用于防止网络传输中的失败 ...