使用java swing实现qq登录界面示例分享

 更新时间:2014年04月01日 14:20:23   作者:  
这篇文章主要介绍了使用java swing实现qq登录界面示例,需要的朋友可以参考下

用Java Swing做的一个QQ登录界面

复制代码 代码如下:

import java.awt.Container;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

/**
 * 仿QQ登录界面
 *
 * @author jiang
 */
public class GUIQQ extends JFrame {
    // 用户名
    private JTextField username;
    // 密码
    private JPasswordField password;
    // 小容器
    private JLabel jl1;
    private JLabel jl2;
    private JLabel jl3;
    private JLabel jl4;

    // 小按钮
    private JButton bu1;
    private JButton bu2;
    private JButton bu3;

    // 复选框
    private JCheckBox jc1;
    private JCheckBox jc2;

    // 列表框
    private JComboBox jcb;

    /*
     * 构造方法
     */
    public GUIQQ() {
        // 设置窗口标题
        this.setTitle("QQ2012正式版");
        // 窗体组件初始化
        init();
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置布局方式为绝对定位
        this.setLayout(null);

        this.setBounds(0, 0, 355, 265);
        // 设置窗体的标题图标
        Image image = new ImageIcon("e:/a.gif").getImage();
        this.setIconImage(image);

        // 窗体大小不能改变
        this.setResizable(false);

        // 居中显示
        this.setLocationRelativeTo(null);

        // 窗体可见
        this.setVisible(true);
    }

    /*
     * 初始化方法
     */
    public void init() {
        // 创建一个容器
        Container con = this.getContentPane();
        jl1 = new JLabel();
        // 设置背景图片
        Image image1 = new ImageIcon("e:/background.jpg").getImage();
        jl1.setIcon(new ImageIcon(image1));
        jl1.setBounds(0, 0, 355, 265);

        // QQ登录头像设定
        jl2 = new JLabel();
        Image image2 = new ImageIcon("e:/a.gif").getImage();
        jl2.setIcon(new ImageIcon(image2));
        jl2.setBounds(40, 95, 50, 60);

        // 用户号码登录输入框
        username = new JTextField();
        username.setBounds(100, 100, 150, 20);
        // 用户号码登录输入框旁边的文字
        jl3 = new JLabel("注册账号");
        jl3.setBounds(260, 100, 70, 20);

        // 密码输入框
        password = new JPasswordField();
        password.setBounds(100, 130, 150, 20);
        // 密码输入框旁边的文字
        jl4 = new JLabel("找回密码");
        jl4.setBounds(260, 130, 70, 20);

        // 输入框下方文字
        jc1 = new JCheckBox("记住密码");
        jc1.setBounds(105, 155, 80, 15);
        jc2 = new JCheckBox("自动登录");
        jc2.setBounds(185, 155, 80, 15);
        // 用户登录状态选择
        jcb = new JComboBox();
        jcb.addItem("在线");
        jcb.addItem("隐身");
        jcb.addItem("离开");
        jcb.setBounds(40, 150, 55, 20);

        // 按钮设定
        bu1 = new JButton("登录");
        bu1.setBounds(280, 200, 65, 20);
        // 给按钮添加1个事件
        bu1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                String str=e.getActionCommand();
                if("登录".equals(str)){
                    String getName =username.getText();
//                  String getPwd =password.getText();
                     JOptionPane.showConfirmDialog(null, "您输入的用户名是"+getName);
                }

            }
        });
        bu2 = new JButton("多账号");
        bu2.setBounds(5, 200, 75, 20);
        bu3 = new JButton("设置");
        bu3.setBounds(100, 200, 65, 20);

        // 所有组件用容器装载
        jl1.add(jl2);
        jl1.add(jl3);
        jl1.add(jl4);
        jl1.add(jc1);
        jl1.add(jc2);
        jl1.add(jcb);
        jl1.add(bu1);
        jl1.add(bu2);
        jl1.add(bu3);
        con.add(jl1);
        con.add(username);
        con.add(password);
    }
    public static void main(String[] args) {
        // 实例化对象
        GUIQQ qq = new GUIQQ();
    }

}

相关文章

  • Spring Cache整合Redis实现方法详解

    Spring Cache整合Redis实现方法详解

    这篇文章主要介绍了Spring Cache整合Redis实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java利用VLC开发简易视屏播放器功能

    Java利用VLC开发简易视屏播放器功能

    这篇文章主要介绍了Java利用VLC开发简易视屏播放器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Springboot接入MyBatisPlus的实现

    Springboot接入MyBatisPlus的实现

    最近web端比较热门的框架就是SpringBoot和Mybatis-Plus,这里简单总结集成用法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • spring boot springMVC扩展配置实现解析

    spring boot springMVC扩展配置实现解析

    这篇文章主要介绍了spring boot springMVC扩展配置实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Go Java算法之字符串中第一个唯一字符详解

    Go Java算法之字符串中第一个唯一字符详解

    这篇文章主要为大家介绍了Go Java算法之字符串中第一个唯一字符详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Spring MVC url提交参数和获取参数

    Spring MVC url提交参数和获取参数

    本文重要讲述通过url提交参数和获取参数的具体操作与实现。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • interrupt()和线程终止方式_动力节点Java学院整理

    interrupt()和线程终止方式_动力节点Java学院整理

    线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身
    2017-05-05
  • Java中正则表达式匹配过程实例详解

    Java中正则表达式匹配过程实例详解

    正则匹配即是在给定字符串中查找符合正则表达式的字符,下面这篇文章主要给大家介绍了关于Java中正则表达式匹配过程的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • springboot vue前后端接口测试树结点添加功能

    springboot vue前后端接口测试树结点添加功能

    这篇文章主要为大家介绍了springboot vue前后端接口测试树结点添加功能,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 一篇文章带你搞定JAVA内存泄漏

    一篇文章带你搞定JAVA内存泄漏

    今天小编就为大家分享一篇关于Java内存泄漏问题处理方法经验总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-07-07

最新评论