|
Java GUI有两个大类:swing和AWT(Abstract Windowing Toolkit),分别在包 java.awt和javax.swing里面。AWT是和平台相关的,也就是说它只是借助于一些抽象的、共有的窗口元素映射到不同的平台上面的实现,所以平台不一样,所表现出来的效果也不一样。但是AWT是基础,swing也是在AWT基础上衍生出来的。swing里面的JComponent是各种窗口元素的基础(除了JFrame),JComponent是继承AWT里的Container,JComponent有自己的画图方式,消息传递等等,而画图方式则是调用系统API的,所以它的平台相关性要少很多,但是这里面的一些概念也多很多,比如它把每个窗口元素的模式划分为“数据-控制-视图”,这样跟好的符合软件的结构。因此它可以支持不同的LookAndFeel,也就是只改变视图也不影响另外两个,默认的有basic,metal等等。记得以前有个牛人买过一本书关于swing的,厚的都可以拿来当凳子用了,不过有现成的一些IDE支持swing和awt的编辑,比如SUN NetBeans和eclipse等等。AWT相对就简单了,但是不能支持swing里面的很多东西,如果只是简单的编程用awt就ok了。
$ v4 Y- Q* @. w9 G' D* X/ {7 P: J+ m- k- I
awt里面的一些概念比如:每个窗口元素都是由Component继承来的;Container是容器类;Frame是窗口,别的元素都要建立在上面;每个窗口元素都有一个Layout是负责布局它的子元素的,或者没有也就是自己定义x,y,width,height;每个窗口元素都有一个void paint(Graphics g)的函数是用来override画画用的;还有就是为了响应鼠标键盘等等的事件的函数如addMouseListener(MouseListener listener), addKeyListener(KeyListener listener)等等,都需要有一个Listener去相应这样的事件,如MouseEvent,KeyEvent。
/ y5 E2 R+ m* ^" s3 j: l5 s) O. ?0 _/ E- V" f. V& q
恩 还有很多 最好是自己看看书 摸索一下 |
评分
-
1
查看全部评分
-
|