初步认识swing awt
AWT(abstract Window Toolkit)是java发布的第一个图形界面库。AWT通过调用系统本地的库,来创建和显示控件。
AWT 的组件都是使用的native code来编写的。所以AWT 的组件扩展性不够好。现在人们更愿意使用swing。
同时AWT也提供界面的事件处理机制。
Swing。Swing 的出现并不是为了取缔AWT,因为他本身也依赖AWT。同时,Swing组件是通过java2D绘制的,所以界面较AWT更加美观, 但是依然很丑(┬_┬) 。然而,Swing组件绝大多数都是用java编写的
(除了JFrame,JDialog,JWindow,JApplet),这就意味着,我们可以根据自己的需要,来扩展他们,具体做法主要是以他们为父类,派生出自己满意的控件类型。
下面是AWT 和Swing 的工作关系图。
可以看出,Swing依赖AWT 和 Java2D绘图。
下面来感受一下。
public class demo
{
public static void main(String[] args)
{
/*****************顶层容器:窗体*********************/
JFrame win = new JFrame();
win.setTitle("测试"); //窗体的标题
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/***************2个按钮******************/
Button AWTbutton = new Button("AWT Button");
AWTbutton.setPreferredSize(new Dimension(130,50));
JButton Swingbutton = new JButton("Swing Button");
Swingbutton.setPreferredSize(new Dimension(130,50));
/*************主面板***************/
JPanel panel = new JPanel();
panel.setBackground(Color.lightGray);
panel.setPreferredSize(new Dimension(300,240));
panel.add(Swingbutton); //将按钮添加到主面板
panel.add(AWTbutton); //将按钮添加到主面板
win.getContentPane().add(panel); //将主面板添加到窗体的内容窗格
win.pack();
win.setVisible(true);
}
}