近期学长让我和志坤做一个项目,用java Swing做页面,要求样式和qq音乐播放器的一样美观且简洁。
起初画原型稿,自己设计了很多排版和布局,但都不合意。被撤回了两次后,直接仿造qq音乐布局的基础上,对空白处进行一些微调。完美,简洁大方且美观。人家专业美工就是不一样。日后写一些设计布局时,最好多借鉴别人优秀的一些排版,待用的多了,自己审美和经验上去了。自然而然效率就会高
为了方便swing的一些布局和效果的实现,我全局使用了JLabel代替了按钮。
使用setUndecorated(true);
使得窗体无修饰,去掉了上面的标题栏和边界。再添加JLabel实现最大化最小化隐藏图标,添加点击监听事件。
但取消了边界和标题。使得窗体无法拖动和改变大小。
这里可以写一个工具类,监听鼠标在窗体中的坐标,做一个判断,当移动到边界时,鼠标样式改变。并且监听点击拖动事件,实时改变窗体大小。 和窗体位置。
简单点可以只写左右上下,想圆满一点可以加上四角。
对滚动条或文件选择器样式改变
* 应用当前系统风格位swing界面
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
一般的按钮,滚动条和文件选择器的样式如下
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());代码使用当前系统风格代替swing界面ui风格
这样上传文件时,就不会显得那么老旧了。 BeautyEye是一个大牛写的符合当代审美的swing风格工具,有兴趣的可以去了解一下。
这次温习让我更深入的理解了不同层,面板之间的不同,层级面板画背景图挺好用
还有很多响应式组件布局,圆角边框,圆角面板,毛玻璃,swing动画(佳超学长写的)的工具类,诸如此类。
,如有需要,可以找我要代码。
就像很多人说的,javaswing已经过时,界面老旧不符合当代审美,只能用网上或自己写的工具包勉强应付。但Swing依旧是把刀,虽说可以一时放下,但日后也会有用到的一天,希望用到那天时,手上的刀还能拿得动。
最后说一下,JFormDesigner很好用,但真心奉劝要把握好删除jfd文件的时间,删太早,有些组件可能还要添加,若使用GroupLayout虽说非常好拖动,但代码却不好改。若不删除jfd文件,重启idea时好不容易改了半天的代码又恢复了jfd布局的样式。别问我为什么知道,问就是泪。以上