swing登录注册界面设计

 更新时间:2018年05月15日 10:37:22   作者:lsh呵呵  
这篇文章主要为大家详细介绍了swing登录注册界面的设计方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了swing登录注册界面展示的具体代码,供大家参考,具体内容如下

开发环境: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 exception
      System.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);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Springboot集成百度地图实现定位打卡的示例代码

    Springboot集成百度地图实现定位打卡的示例代码

    本文主要介绍了Springboot集成百度地图实现定位打卡的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • SpringBoot上下文初始器加载过程详解

    SpringBoot上下文初始器加载过程详解

    这篇文章主要介绍了SpringBoot上下文初始器加载过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • java自定义动态链接数据库示例

    java自定义动态链接数据库示例

    这篇文章主要介绍了java自定义动态链接数据库示例,需要的朋友可以参考下
    2014-02-02
  • SpringBoot整合Flyway实现数据库的初始化和版本管理操作

    SpringBoot整合Flyway实现数据库的初始化和版本管理操作

    Flyway 是一款开源的数据库版本管理工具,它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本,这篇文章主要介绍了SpringBoot整合Flyway实现数据库的初始化和版本管理,需要的朋友可以参考下
    2023-06-06
  • 区分Java中的ArrayList和LinkedList

    区分Java中的ArrayList和LinkedList

    这篇文章主要介绍了如何区分Java中ArrayList和LinkedList,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java中的CopyOnWriteArrayList详解

    Java中的CopyOnWriteArrayList详解

    这篇文章主要介绍了Java中的CopyOnWriteArrayList详解,ArrayList单线程下是安全的 但是多线程下存在不安全的问题,多线程下是不安全的,需要的朋友可以参考下
    2023-12-12
  • IDEA2020.1构建Spring5.2.x源码的方法

    IDEA2020.1构建Spring5.2.x源码的方法

    这篇文章主要介绍了IDEA2020.1构建Spring5.2.x源码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Java中两种抛出异常的方式示例详解

    Java中两种抛出异常的方式示例详解

    在Java中有两种抛出异常的方式,一种是throw,直接抛出异常,另一种是throws,间接抛出异常,本文给大家详细说明java中两种抛出异常的方式,感兴趣的朋友一起看看吧
    2023-08-08
  • java中InputStream获取字节大小相关方法详解

    java中InputStream获取字节大小相关方法详解

    这篇文章主要给大家介绍了关于java中InputStream获取字节大小相关方法的相关资料,在Java中要实现读取文件大小,可以使用InputStream来读取文件的内容,并通过获取读取的字节数来得到文件的大小,需要的朋友可以参考下
    2023-11-11
  • JAVA新手小白学正则表达式、包装类、自动装箱/自动拆箱以及BigDecimal

    JAVA新手小白学正则表达式、包装类、自动装箱/自动拆箱以及BigDecimal

    这篇文章主要给大家介绍了关于JAVA新手小白学正则表达式、包装类、自动装箱/自动拆箱以及BigDecimal的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03

最新评论