(本文是自己的总结,也有来自网上其他人的网页,太多不一一列举)
Java Swing图形化编程
一 设计的思路
1、先确定你需要什么基本组件,比如一个用户登录界面:
两个输入框,一个登录按钮,难点主要在显示效果的属性设置
2、考虑容器组件,JPanel组件就属于容器型组件,就如同桌上的桌布一样,尽量不要将组件直接放到项层容器上,
一般来说,每一个窗口应用程序中有且只能有一个顶层容器控件,即,顶层容器不能包括在其他的控件中。
但是JPanel组件还可以里面再套JPanel组件。然后就是考虑布局,这GUI设计的难度之一
布局是Java中用来控制组件排列位置的一种界面管理系统,
常用的布局:
BorderLayout:将界面分割为上下左右以及中间一块区域的管理系统,在BorderLayout布局中,最多你只能放5个控件,如果超过5个控件,建议还是选用其他的布局系统吧。
GridLayout:GridLayout是将用户界面切割为棋盘一样的布局管理系统。如果我们要设计一个类似于Windows中自带的计算器软件,GridLayout无疑是最佳选择。
FlowLayout:FlowLayout与上述两类布局管理系统不太一样,在FlowLayout中,你不必指定每个控件放在哪,你只需要把控件加入到FlowLayout中,FlowLayout就会根据你添加控件的顺序依次放置控件,如果空间不够,会自动换行。
3、顶层容器有三类,主要考虑布局
JFrame: 用来设计类似于Windows系统中的窗口形式的应用程序。
JDialog: 和JFrame类似,只不过JDialog是用来设计对话框。
JApplet: 用来设计可以在嵌入在网页中的Java小程序。
所以从这里就可以看出,类似一个大体是三层的结构:
顶层组件----被划分成几个部分,这几个部分用一个容器组件来组织,有自己的布局方式
|-----每个容器组件放置基本组件或是再套容器组件,有自己的布局方式
|-------对于每个基本组件,设置其属性,以达到要求。
二 设计界面效果
字体,颜色,大小,位置,形状,透明度。。。。
三 事件响应,不能响应事件的界面,意义可想而知,但是响应事件的方式却是有多种
1、类直接实现监听,然后从一个方式中判断事件是什么,然后去找对应的实现
2、谁要处理某事件,自己负责监听,一般用匿名类,或是私有类实现
四 公用数据交换设计
一个程序,可能完成几个功能,各个功能之间有时需要数据交换,这是界面程序的难点之一