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 }