AWT和Swing之间的基本区别

Stella981
• 阅读 593

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  
 20  JPanel panel = new JPanel();
 21  panel.setLayout(new GridBagLayout());
 22  
 23  JLabel username = new JLabel("username");
 24  JLabel password = new JLabel("password");
 25 
 26  JTextArea username_input = new JTextArea("1");
 27  JTextArea password_input = new JTextArea("2");
 28 
 29 JButton ok = new JButton("OK");
 30 JButton cancel = new JButton("Cancel");
 31 JButton register = new JButton("Register");
 32 
 33 
 34 
 35 panel.add(username);
 36 panel.add(password);
 37 
 38 panel.add(username_input);
 39 panel.add(password_input);
 40 
 41 panel.add(ok);
 42 panel.add(cancel);
 43 panel.add(register);
 44 frame.add(panel);
 45 frame.setVisible(true);
 46 
 47 
 48 GridBagConstraints c= new GridBagConstraints();
 49 
 50 c.gridx=1;
 51 c.gridy=1;
 52 c.weighty=4;
 53 c.weightx=2;
 54 panel.add(username,c);
 55 
 56 c.gridx=2;
 57 c.gridy=1;
 58 c.gridwidth=1;
 59 c.fill = GridBagConstraints.HORIZONTAL;
 60 panel.add(username_input,c);
 61 c.fill =GridBagConstraints.NONE;
 62 
 63 c.gridx=1;
 64 c.gridy=2;
 65 c.gridwidth=1;
 66 panel.add(password,c);
 67 
 68 c.gridx =2;
 69 c.gridy =2;
 70 c.gridwidth =1;
 71 c.fill = GridBagConstraints.HORIZONTAL;
 72 panel.add(password_input,c);
 73 c.fill =GridBagConstraints.NONE;
 74 
 75 c.gridx=1;
 76 c.gridy=8;
 77 c.gridwidth=1;
 78 panel.add(ok,c);
 79 
 80 c.gridx=2;
 81 c.gridy=8;
 82 c.gridwidth=1;
 83 panel.add(cancel,c);
 84 
 85 c.gridx=3;
 86 c.gridy=8;
 87 c.gridwidth=1;
 88 panel.add(register,c);
 89 
 90 frame.setVisible(true);
 91 ok.addActionListener(new ActionListener(){
 92 public void actionPerformed(ActionEvent e){
 93 }
 94 });
 95 
 96 cancel.addActionListener(new ActionListener(){
 97 public void actionPerformed(ActionEvent e){
 98 }
 99 });
100 
101 register.setEnabled(false);
102 }
103 
104  public static void main(String[] args ){
105      TwelveSwing tw=new TwelveSwing();
106      tw.go();
107  }
108 }
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
swing学习4
packageswing;importjava.awt.Component;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.Bu
Wesley13 Wesley13
2年前
java游戏开发杂谈
在Eclipse里,编写如下两个类:packagegame2;importjava.awt.Color;importjava.awt.Graphics;importjavax.swing.JPanel;/java游戏开发杂谈demo2:画
Wesley13 Wesley13
2年前
Java 图形化界面设计(GUI)实战练习(代码)
关于Java图形化界面设计,基础知识网上可搜,下面简单介绍一下重点概念,然后就由浅入深代码实例。程序是为了方便用户使用的,Java引入图形化界面编程。1.JFrame是容器类2.AWT是抽象窗口组件工具包,是Java最早的用于编写图形节目应用程序的开发包。3.Swing是为了解决AWT存在的问题而新开发的包,它以AWT为基础
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
2年前
Programming a Spider in Java 源码帖
ProgrammingaSpiderinJava源码帖Listing1:Findingthebadlinks(CheckLinks.java)importjava.awt.;importjavax.swing.;importjava.net.;importjava.
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
Java的三大版本含义及区别
标准版(JavaSE)、企业版(JavaEE)、微缩版(JavaME)1.StandardEditor(标准版)J2SE包含构成Java语言核心的类,定位在个人计算机上的应用。这个版本是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口AWT及Swing,网络功能与国际化、图像处理能力以及
Wesley13 Wesley13
2年前
Java二级
packagehello;importjava.awt.;importjava.awt.event.;importjavax.swing.;publicclassHelloextendsJFrame{privateJLabellab;
Easter79 Easter79
2年前
Swing编程
    Swing开发图形界面比AWT更加优秀,因为Swing是一种轻量级组件,它采用100%的java实现,不再依赖于本地平台的图形界面。    Swing提供了比AWT更多的图形界面组件。因此可以开发出更美观的图形界面。    AWT只能使用各种平台上GUI组件的交集。    Swing可以提供了如JTabbedPane、JDesktopP