开发环境:Eclipse Neon.3 Release (4.6.3)
我用的为javaee版本的,为了便于设计界面,需要安装windowbuilder插件,可以直接在marketplace里搜索到。
说明:参考凯哥视频同步学习的

界面效果

登录界面

注册界面

关键技术

该项目用到了java swing外观插件
用到了图片(点击src右键文件夹取名res并复制图片login.jpg)

源码

com.lsh.view.LoginDialog

package com.lsh.view;import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;import javax.swing.ImageIcon;
import javax.swing.border.TitledBorder;import com.lsh.util.ImageScale;@SuppressWarnings("serial")
public class LoginDialog extends JDialog {private final JPanel contentPanel = new JPanel();private JTextField textField;private JTextField textField_1;private JTextField textField_2;private JTextField textField_3;private JTextField textField_4;private JTextField textField_5;private static final int DIALOG_WIDTH=414;private static final int DIALOG_HEIGHT=340;private static final int DIALOG_HEIGHT_EXTEND=573;/*** Launch the application.*/public static void main(String[] args) {try{org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();}catch(Exception e){//TODO exceptionSystem.out.println("加载炫彩皮肤失败!");}try {LoginDialog dialog = new LoginDialog();dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setVisible(true);} catch (Exception e) {e.printStackTrace();}}/*** Create the dialog.*/public LoginDialog() {setAlwaysOnTop(true);setResizable(false);setBounds(400, 100, DIALOG_WIDTH,DIALOG_HEIGHT);getContentPane().setLayout(new BorderLayout());contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));getContentPane().add(contentPanel, BorderLayout.CENTER);contentPanel.setLayout(null);//设置居中//setLocation(WindowXY.getXY(LoginDialog.this.getSize()));JButton btnNewButton = new JButton("注 册");btnNewButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {if(LoginDialog.this.getHeight()==DIALOG_HEIGHT_EXTEND){LoginDialog.this.setSize(DIALOG_WIDTH,DIALOG_HEIGHT);}else{LoginDialog.this.setSize(DIALOG_WIDTH,DIALOG_HEIGHT_EXTEND);}}});btnNewButton.setBounds(53, 224, 93, 23);contentPanel.add(btnNewButton);JButton btnNewButton_1 = new JButton("登 录");btnNewButton_1.setBounds(190, 224, 93, 23);contentPanel.add(btnNewButton_1);textField = new JTextField();textField.setBounds(133, 147, 150, 25);contentPanel.add(textField);textField.setColumns(10);textField_1 = new JTextField();textField_1.setBounds(133, 182, 150, 25);contentPanel.add(textField_1);textField_1.setColumns(10);JLabel lblNewLabel = new JLabel("邮 箱");lblNewLabel.setBounds(53, 151, 54, 15);contentPanel.add(lblNewLabel);JLabel lblNewLabel_1 = new JLabel("密 码");lblNewLabel_1.setBounds(53, 194, 54, 15);contentPanel.add(lblNewLabel_1);JLabel lblNewLabel_2 = new JLabel("New label");     lblNewLabel_2.setBounds(0, 0, 360, 136);ImageIcon icon=new ImageIcon(LoginDialog.class.getResource("/res/login.jpg"));icon=ImageScale.getImage(icon, lblNewLabel_2.getWidth(), lblNewLabel_2.getHeight());lblNewLabel_2.setIcon((icon));contentPanel.add(lblNewLabel_2);JPanel panel = new JPanel();panel.setBorder(new TitledBorder(null, "\u6CE8\u518C\u7528\u6237", TitledBorder.LEADING, TitledBorder.TOP, null, null));panel.setBounds(12, 259, 336, 221);contentPanel.add(panel);panel.setLayout(null);JLabel lblNewLabel_3 = new JLabel("邮 箱");lblNewLabel_3.setBounds(41, 29, 55, 18);panel.add(lblNewLabel_3);JLabel lblNewLabel_4 = new JLabel("验证码");lblNewLabel_4.setBounds(41, 85, 55, 18);panel.add(lblNewLabel_4);JLabel lblNewLabel_5 = new JLabel("密 码");lblNewLabel_5.setBounds(41, 115, 55, 18);panel.add(lblNewLabel_5);JLabel label = new JLabel("确认密码");label.setBounds(41, 145, 55, 18);panel.add(label);textField_2 = new JTextField();textField_2.setBounds(123, 22, 150, 25);panel.add(textField_2);textField_2.setColumns(10);textField_3 = new JTextField();textField_3.setBounds(123, 80, 150, 25);panel.add(textField_3);textField_3.setColumns(10);textField_4 = new JTextField();textField_4.setBounds(123, 113, 150, 25);panel.add(textField_4);textField_4.setColumns(10);textField_5 = new JTextField();textField_5.setBounds(123, 145, 150, 25);panel.add(textField_5);textField_5.setColumns(10);JButton btnNewButton_2 = new JButton("发送验证码");btnNewButton_2.setBounds(123, 52, 83, 23);panel.add(btnNewButton_2);JButton btnNewButton_3 = new JButton("取 消");btnNewButton_3.setBounds(51, 182, 83, 27);panel.add(btnNewButton_3);JButton btnNewButton_4 = new JButton("确 认");btnNewButton_4.setBounds(190, 182, 83, 27);panel.add(btnNewButton_4);}
}

工具类  com.lsh.util.ImageScale

package com.lsh.util;import java.awt.Image;import javax.swing.ImageIcon;public class ImageScale {public static ImageIcon getImage(ImageIcon icon,int width,int height){Image image=icon.getImage().getScaledInstance(width, height,Image.SCALE_REPLICATE);icon.setImage(image);return icon;}
}

工具类 com.lsh.util.WindowXY

package com.lsh.util;import java.awt.Dimension;
import java.awt.Point;
import java.awt.Toolkit;public class WindowXY {public static Point getXY(int w,int h){Toolkit toolkit=Toolkit.getDefaultToolkit();int width=toolkit.getScreenSize().width;int height=toolkit.getScreenSize().height;return new Point((width-w)/2,(height-h)/2);}public static Point getXY(Dimension dimension) {return getXY(dimension.width, dimension.height);}
}

swing界面设计之登录注册界面相关推荐

  1. php mysql注册登录界面_php实现登录注册界面

    php实现登录注册界面 首先你要搭建一个自己的数据库 我用wamp64创了一个people的数据库 具体操作可以参考该搭建链接: 这里就讲下我实现的功能代码: 创建sql.func.php实现一些基本 ...

  2. c#网页设计 UI —登录注册界面

    打包了资源设置了下载积分 突然发现比较自己下载过人家的设置积分 自己真是设置的最低分(/捂脸 )--初出茅庐 多多指教 这几天学过了c#知识点 前段时间做了坦克大战  最近写了个极简易的界面-包括页面 ...

  3. java jsp登录界面设计,用户登录注册系统(基于JSP和Servlet)

    准备工作 开发环境准备 开发工具:eclipse 4.3 技术语言:Java SE 1.7 依赖控制:Maven 3.0.4 服务器:Tomcat 7.0.68 操作系统:Windows 10 搭建一 ...

  4. 淘宝界面实现以及登录注册界面

    Android小白,实现本次项目,参照了很多大佬的代码.其中有些不足的地方请指点交流. 一.项目实现内容: 1.实现登录页面: 1.1 注册用户 1.2 登录用户 1.3 注销用户 1.4 更改密码 ...

  5. 右侧按钮登录注册html,翻转式用户登录注册界面设计

    这是一款非常实用的翻转式用户登录注册界面设计效果.该用户登录注册界面使用纯CSS3来制作,在用户点击登录和注册两个按钮时,登录和注册界面可以以水平翻转的方式来回切换,效果非常的酷. 制作方法 HTML ...

  6. Java--用户登录/注册界面(连接Mysql数据库)并可以通过验证码登录

    1 效果展示 (1)登录界面 (2)注册界面 (3)动图展示 2 内容说明 (1)开发前,需引入一个连接Mysql 数据库驱动mysql-connector-java-5.1.30-bin.jar包 ...

  7. QT 实现类似于qq的登录注册界面

    QT 实现类似于qq的登录界面(仅供参考) 看一下效果图 一:首先创建一个widget项目设计ui界面 使用了LineEdit,QPushButton,QToolButton,QLabel,还有弹簧 ...

  8. 【Vue作业]---Vue登录注册界面

    1.引言 你是否有过相关设计结课作业,课程设计无处下手,网页要求的总数量太多?没有合适的模板?数据库,java,python,vue,html作业复杂工程量过大?毕设毫无头绪等等一系列问题.你想要解决 ...

  9. Lance老师UI系列教程第三课-QQ登录注册界面的实现(android-2012最新版)

    分类: android UI教程2012-08-06 22:37 3731人阅读 评论(6) 收藏 举报 uiandroidqqlayoutbutton UI系列教程第三课:腾讯登录注册界面的实现 今 ...

最新文章

  1. c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...
  2. 车路协同让城市更智慧
  3. 人生的意义—我们为什么活着?
  4. 数据结构与算法(十二):八大经典排序算法再回顾
  5. tar - tar 档案文件管理程序的 GNU 版本。
  6. 被误读的博弈:谁才是大厂解除屏蔽的最终受益者?
  7. QTP的那些事--调用外部的文件的方法
  8. 【NLP】文本分类综述 (上)
  9. 结对-结对编项目贪吃蛇-设计文档
  10. C#求一元二次方程的根经典案例程序
  11. 玩转容器,首先你得登上青云梯
  12. Qt第一印象——Qte与Qt
  13. r语言 新增一列数字类型_R语言实战之R语言基础语法精讲(一)
  14. 关于Google Android平台的ClockworkMod Recovery恢复模式
  15. 如何从官网下载Hibernate源码与jar包
  16. Spring Cloud技术栈简述
  17. 如何观察一棵树 - 笔记
  18. oppo系统工程师暑期实习生面经(已OC)
  19. C#回顾学习笔记四十:三层架构
  20. 上证指数开盘指数预测 Matlab

热门文章

  1. 脚本---perl与python的比较
  2. 【论文阅读】针对快速和准确的超分辨率深度拉布拉斯金字塔网络
  3. 安装报错:TypeError: _classify_installed_files() got an unexpected keyword argument ‘cmake_install_dir‘
  4. A Vertical Kelvin Test Structure for Measuring the True Specific Contact Resistivity
  5. MySQL优化--整理
  6. 人工智能课程走入高中课堂
  7. poj2942 圆桌骑士
  8. 如何使用DiVa测试UDS On DoIP
  9. 力扣 2090. 半径为 k 的子数组平均值
  10. 神武4 电脑版天魔里职业玩法攻略(原创)