swing和MySQL登录注册_使用java-swing做出一个稍微漂亮一点的登陆注册页面

本文介绍了如何利用Java Swing库和JDBC实现一个美观的登录注册界面。通过项目结构的划分,包括数据操作层、服务层、实体层和UI层,详细讲解了UI层的实现,包括背景图片的添加、输入框的样式调整、标题栏的隐藏、按钮的特效以及鼠标事件的处理,展示了创建此类界面的技巧和步骤。
摘要由CSDN通过智能技术生成

废话不多说,首先展示效果图:

b68ff72e4fe607b49494cabc3645df0c.png

6d75e5dca735278b28b8add7fb637665.png

github地址:https://github.com/qkmc-rk/bank-system-log-reg.git

swing界面自带的组件并不是很前卫时尚,不过借助于swing比较强大的功能和结构,照样能做出比较好看的界面。

如何做出这样一个实用的登陆平台?

首先明白项目结构:

该登陆界面和功能依靠于swing图形库和JDBC数据库访问功能。在逻辑上我们可把此项目分为4个板块,第一个板块为数据操作层,第二个为服务层,第三个为实体层,第四个为ui层。如下:

ff30cb9d2b76045bd2336c6f49d8b49d.png

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("路径+要显示的效果图"));

}

});

其他的类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值