很多人学完《Java基础教程》后,接着一般都会用GUI来做一下课程设计,多数同学通常选择用插件WindowBuilder来设计程序的界面,认为用插件做会更快更高效率,但是,这样做出来的界面是不是和XP老系统的外观一样呢?很多人在win10上运行的程序,界面是扁平化的,当然看不出明显的粗糙之感,但一旦移植到win7上运行,效果便会大打折扣,就像下图一样:
其实,众所周知的是,很多软件不是用Java来写的,所以大家对Java的GUI编程便不会那么重视,认为其能实现功能就好,那Java的GUI编程能不能把界面做得像其他语言编写的界面一样美观呢?答案是可以的,这次小编就用Java的GUI模仿有道词典的外观来做一次课程设计,把Java的GUI认认真真地熟悉一遍,而且不使用WindowBuilder插件。
下图便是小编经过几个星期的设计得出的一个GUI程序,并附上有道词典的主界面对比一下:
其次是各种界面的外观:
登录界面、注册界面
而且鼠标移动到各种功能按钮时的按钮的字体会变颜色,点击后,按钮的背景颜色也改变,用以表示选中的是什么按钮。
如果使用原来默认的组件属性是达不到这种效果的,整个框架需要取消Frame以及弹出窗口Dialog原来的边框显示,取消后也就没有了最小最大化按钮和退出按钮,需要自己添加上去,为了达到按钮和标题栏融为一体的外观效果,本人就用PPT设计了几个按钮图标作为背景,图标和标题栏一样使用(204,51,51)背景色,如下图:
这样就只需要直接用这些图标作为鼠标进入和离开按钮时的背景即可达到有道词典最大最小化按钮的显示效果,但取消边框后的窗体是不能被移动的,这时候需要设置一些联动参数:
而且,左边一栏功能按钮随鼠标移动的显示效果也需要设计两个函数来实现(哈哈,不好意思,下面这俩函数略显笨拙,但它们还是把效果实现了):
可以看出,前前后后都是利用GUI各类组件所共有的setBounds()、setBackground()、setFont()等设置属性的方法,加上一些做动作的函数,便可以把原来看起来一般的界面来个大翻身。
爱生活 爱分享
一个小混蛋
技术帖
领取专属 10元无门槛券
私享最新 技术干货