
AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。
对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。
在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。
而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。
package Com.MySwing;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea; public class TwelveSwing { public void go(){
JFrame frame = new JFrame("login");
frame.setSize(400,200);//设置窗体大小
frame.setVisible(true);//设置窗体可见 JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout()); JLabel username = new JLabel("username");
JLabel password = new JLabel("password"); JTextArea username_input = new JTextArea("1");
JTextArea password_input = new JTextArea("2"); JButton ok = new JButton("OK");
JButton cancel = new JButton("Cancel");
JButton register = new JButton("Register"); panel.add(username);
panel.add(password); panel.add(username_input);
panel.add(password_input); panel.add(ok);
panel.add(cancel);
panel.add(register);
frame.add(panel);
frame.setVisible(true); GridBagConstraints c= new GridBagConstraints(); c.gridx=1;
c.gridy=1;
c.weighty=4;
c.weightx=2;
panel.add(username,c); c.gridx=2;
c.gridy=1;
c.gridwidth=1;
c.fill = GridBagConstraints.HORIZONTAL;
panel.add(username_input,c);
c.fill =GridBagConstraints.NONE; c.gridx=1;
c.gridy=2;
c.gridwidth=1;
panel.add(password,c); c.gridx =2;
c.gridy =2;
c.gridwidth =1;
c.fill = GridBagConstraints.HORIZONTAL;
panel.add(password_input,c);
c.fill =GridBagConstraints.NONE; c.gridx=1;
c.gridy=8;
c.gridwidth=1;
panel.add(ok,c); c.gridx=2;
c.gridy=8;
c.gridwidth=1;
panel.add(cancel,c); c.gridx=3;
c.gridy=8;
c.gridwidth=1;
panel.add(register,c); frame.setVisible(true);
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
}
}); cancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
}
}); register.setEnabled(false);
} public static void main(String[] args ){
TwelveSwing tw=new TwelveSwing();
tw.go();
}
}