`

qq登录界面及其实现

    博客分类:
  • java
qq 
阅读更多
1.刚开始没做的时候觉得这个一定会是很难,熊哥讲这几节课的时候,恰好我的电脑坏了(坏了足足四天),于是那几天就没有快速地去练习
怎么做登录界面。是后来补做的。先看代码

package qqzjq20130705;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;

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.JPanel;
import javax.swing.JPasswordField;


public class QQlogin {/**
* @ zhoujianquan
*/
public static void main(String[] args) {
//实例化一个login
QQlogin log =new QQlogin();
log.way();
}
//定义way方法
public void way(){
//实例化一个JFram对象
JFrame jf=new JFrame();
jf.setTitle("腾讯QQ2013");
jf.setLocationRelativeTo(null);
jf.setSize(new Dimension(382, 290));
//关闭窗体时下面的红窗口消失
jf.setDefaultCloseOperation(3);
//禁止调整此窗体的大小
jf.setResizable(false);

/******************背景***************/
//实例化一个图标对象
ImageIcon backgroundImage=new ImageIcon("qqimage/background.png");
//实例化一个标签对象,用来显示图标对象
JLabel jlabackground =new JLabel(backgroundImage);
//设置标签的起始位置和大小
jlabackground.setBounds(0, 0, backgroundImage.getIconWidth(), backgroundImage.getIconHeight());

//添加到窗体的LayeredPanel面板的最底层(第二层面板)
jf.getLayeredPane().add(jlabackground,new Integer(Integer.MIN_VALUE));

//获取窗体的第一层面板
JPanel contentPanel=(JPanel)jf.getContentPane();
//设置第一层面板为透明
contentPanel.setOpaque(false);


/***************北面的面板*************/
//定义一个面板
JPanel northPanel=new JPanel();
//设置面板为透明
northPanel.setOpaque(false);
//设置面板的大小为最佳尺寸
northPanel.setPreferredSize(new Dimension(0,120));
//设置面板的布局方式为流式布局,JPanel的默认为流式布局
northPanel.setLayout(new BorderLayout());
//实例化一个标签对象,并且让标签上显示图标
JLabel jla=new JLabel("QQ2013");
    //设置字体的大小
jla.setFont(new Font("楷体",Font.BOLD,36));
//将jla对象添加到面板的西边,将面板添加到窗体的北边
northPanel.add(jla, BorderLayout.WEST);
jf.add(northPanel, BorderLayout.NORTH);


/****************西边的面板*********************/
JPanel westPanel = new JPanel();
westPanel.setOpaque(false);//设置面板为透明
//设置面板的布局方式为流式布局,JPanel默认的布局方式是流式布局
westPanel.setLayout(new FlowLayout());

//实例化一个图标(ImageIcon)对象
ImageIcon image = new ImageIcon("qqimage/0.jpg");
//实例化一个JLabel的对象,并且让标签上显示图标
JLabel jlaImage = new JLabel(image);

//将jlaImage对象添加到westPanel对象上
westPanel.add(jlaImage);
//将westPanel添加到jf窗体的西边
jf.add(westPanel,BorderLayout.WEST);

/*************中间的面板**********************/
JPanel centerPanel=new JPanel();
//设置面板为透明
centerPanel.setOpaque(false);
//设置面板的布局方式为流式布局,靠左显示组件,JPanel默认的布局方式是流式布局
centerPanel.setLayout(new FlowLayout(FlowLayout.LEFT,8,5));
//实例化组件
JComboBox jco=new JComboBox();
jco.setPreferredSize(new Dimension(190,24));
//设置jco对象可以编辑
jco.setEditable(true);
//加东西进去
jco.addItem("admin");
//将jco添加到centerPanel上
centerPanel.add(jco);
//添加注册账号标签
JLabel jalReg=new JLabel("注册账号");
//将注册账号标签添加到中间面板上
centerPanel.add(jalReg);
//添加一个密码输入框
JPasswordField jpa=new JPasswordField("密码");
jpa.getPassword();

//设置jpa的大小
jpa.setPreferredSize(new Dimension(190,24));
//将jpa对象添加到面板上
//添加一个标签
centerPanel.add(jpa);
//添加找回密码标签
JLabel jlaPawd=new JLabel("找回密码");
//将找回密码标签添加到面板上
centerPanel.add(jlaPawd);
//添加两个复选框,并设置为透明
JCheckBox jch1= new JCheckBox("记住密码");
jch1.setOpaque(true);
JCheckBox jch2= new JCheckBox("自动登录");
jch2.setOpaque(true);
//将两个复选框添加到面板上
centerPanel.add(jch1);
centerPanel.add(jch2);
//将centerPanel添加到面板窗体的中间
jf.add(centerPanel, BorderLayout.CENTER);

    /*******************南边的面板************************/
JPanel southPanel=new JPanel();
//设置面板为透明
southPanel.setOpaque(false);
//设置面板的布局方式为流式布局,面板的默认布局方式为流式布局
southPanel.setLayout(new FlowLayout());
//建一个标签对象
JButton jbuLogin=new JButton("登         录");
//设置按钮的大小
jbuLogin.setPreferredSize(new Dimension(160,30));
//将按钮添加到面板上
southPanel.add(jbuLogin);
//
jbuLogin.setActionCommand("QQlogin");

//将面板添加到窗体的南边
jf.add(southPanel, BorderLayout.SOUTH);

//实例化一个LoginListener对象
LoginListener lis=new LoginListener(jco,jpa);

//给事件源添加动作监听器方法
jbuLogin.addActionListener(lis);

jf.setVisible(true);

}
}

监听器
package qqzjq20130705;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
/**事件处理类,该类实现了ActionListener
* @param zhoujianquan
*/
public class LoginListener implements ActionListener{
//定义私有方法
private JComboBox jco;
private JPasswordField jpa;
public  LoginListener( JComboBox jco,JPasswordField jpa){
this.jco=jco;
this.jpa=jpa;
}
//重写ActionListener中的抽象的方法
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e){
//输出提示
System.out.println("你点击了"+e.getActionCommand()+"按钮");
//获取输入的字符,并且把值赋给str
String jcostr=jco.getUIClassID();
String jpastr= jpa.getText();
//比较字符与定义的字符是否相等
if(jcostr.equals("admin")||jpastr.equals("12345")){
//创建一个窗体
JFrame jf=new JFrame("腾讯QQ消息");
// 设置窗体的大小
jf.setSize(600, 150);
jf.setDefaultCloseOperation(3);
jf.setLocation(200 ,300);
//添加一个标签对象
JLabel jla=new JLabel("账号异常!!");
jla.setForeground(Color.RED);
//设置字体的样式
jla.setFont(new Font("宋体",Font.BOLD,18));
//设置颜色

//设置位置
jla.setLocation(150, 200);
//添加到窗体
jf.add(jla);
jf.setVisible(true);
}else{
JOptionPane.showMessageDialog(null, "输入错误");


}

}


}

2.程序能够实现了登录界面还有就是事件机制的一些动作。但是一直存在一个问题就是这个判断语句if(jcostr.equals("admin")||jpastr.equals("12345"))
不能改为if(jcostr.equals("admin")&&jpastr.equals("12345"))。









  • 描述: qq登录界面
  • 大小: 103.5 KB
  • 描述: 输对密码
  • 大小: 13 KB
  • 描述: 输错误密码
  • 大小: 7.3 KB
分享到:
评论

相关推荐

    vc++ 应用源码包_2

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_6

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_1

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_5

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_3

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 开发实例源码包

    老版qq系统的实现。 MyIE3.0浏览器源代码 如题。完整的代码,重载控件实现,非常适合初学者。 MyPhpServer(原创,有实现的主要代码) 如题。 microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 ...

    java课程设计班级通讯录设计报告.doc

    通过实现通讯薄功能的实际编程了解基于Swing的图形用户界面开发和数据库操作原 理,提高Swing和JDBC技术结合的综合运用能力。 2. 需求分析 1. 用户需求分析 通讯簿的目的在于帮助用户实现轻松管理联系人的需求。 ...

    架设代理服务器方法教程.docx

    打开QQ登陆界面,点击设置打开"登陆设置"界面,设置网络类型为Http或Socks协议,地址和端口填写,其他项留空即可。点击"测试",提示成功即表示连接正常。确定后点击 登陆,是不是可以登陆QQ了? 补充:常见网络故障...

    asp.net知识库

    运算表达式类的原理及其实现 #实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)...

    KODExplorer 芒果云-资源管理器

    - 极佳的操作体验:及其便捷的快捷键支持,让你拥有本地化的体验 - 中文等多语言支持:中文编码全面兼容,文件编辑自动适配。 - 超快的速度:全面采用Ajax+Json进行数据通信,毫秒级的响应速度; - 全平台兼容性:...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...

Global site tag (gtag.js) - Google Analytics