废话不多说,首先展示效果图:
github地址:https://github.com/qkmc-rk/bank-system-log-reg.git
swing界面自带的组件并不是很前卫时尚,不过借助于swing比较强大的功能和结构,照样能做出比较好看的界面。
如何做出这样一个实用的登陆平台?
2.各层代码如下:
DAO层 Service层 实体层 UI层
3.现在介绍如何实现UI层:
第一点,组成,首先登陆界面由若干图片,JLabel,JTextField,JButton等组件组成。
第二点,如何实现背景图片添加,
首先我们需要明白JFrame由三层面板组成,分别rootPanel,LayeredPanel,contentPanel.这里的思路是将背景图片放在JLabel里然后把JLabel附着在我们的LayeredPanel,然后将contentPanel设置为透明,即可完成添加背景图片。
代码:
background = new ImageIcon("images/background-login.png");//背景 backgroundCon = new JLabel(background);//将背景图放在JLbel中 backgroundCon.setBounds(0, 0, background.getIconWidth(),background.getIconHeight()); getLayeredPane().add(backgroundCon, new Integer(Integer.MIN_VALUE));//放入LayeredPanel JPanel jp = (JPanel)getContentPane(); jp.setOpaque(false); //设置contentPanel透明
第三点,如何实现JtextField(账号密码输入框)下面的黄色下划线
使用ps在背景图上添加即可,然后将JtextField设置为透明,并且将边界设置为null,然后修改field里面的字体和字体颜色,代码如下:
userIdField.setForeground(Color.white); //设置字体颜色 userPwdField.setForeground(Color.white); userIdField.setBorder(null); //设置边界为null,没有边框 userPwdField.setBorder(null); userIdField.setOpaque(false); //设置透明 userPwdField.setOpaque(false);
第四点,如何去掉标题栏:
一句代码即可,
setUndecorated( true);//隐藏标题栏
第五点,如何实现按钮的特效:
首先需要明白,按钮是可以添加图片的,即Icon,我们只需要把按钮设置到相应大小,然后设置按钮的属性为透明,去掉按钮的显示名称,就可以显示出一个漂亮的按钮了,为此我们还可以为按钮设置圆角,然后还可以设置按钮的鼠标事件,单击或者移动时,可以改变按钮的图片,做出漂亮的效果。
这里做的比较简单,代码如下:
logBut.setContentAreaFilled(false);/*异常*/ //设置内容区清空 logBut.setIcon(new ImageIcon("images/login.png")); //设置按钮图标
第六点,如何实现按钮单击,释放,进入和移出的按钮效果呢?
作者在这里并没有做这样的效果,不过大致思路是这样的:
首先为按钮添加鼠标事件:
logBut.addMouseListener(new MouseAdapter(){ });
然后重写当鼠标移入时的动作
logBut.addMouseListener(new MouseAdapter() { public void mouseEntered(MouseEvent e) { logBut.setIcon(new ImageIcon("路径+要显示的效果图")); } });
其他的类似。