qq登录界面及其实现

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


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


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, "输入错误");


}

}


}








  • 描述: qq登录界面
  • 大小: 103.5 KB
  • 描述: 输对密码
  • 大小: 13 KB
  • 描述: 输错误密码
  • 大小: 7.3 KB
从iteye里面搬家过来的~已经过去很久了,希望对初学者有些用
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.ImageIcon; import javax.swing.*; import java.lang.*; import java.sql.*; class Imagecanvas extends Canvas { Toolkit tool; Image Im; Imagecanvas() { setSize(360, 50); tool = getToolkit(); Im = tool.getImage("dj.jpg"); } public void paint(Graphics g) { g.drawImage(Im, 0, 0, 360, 50, this); } } class QqBorder1 extends JFrame implements ActionListener { Choice cho; QqBorder1() { super("QQ2010"); setSize(360, 260); setLocation(250, 120); setResizable(false); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.CENTER); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); cho = new Choice(); cho.add("在线"); cho.add("隐身"); cho.add("离线"); cho.add("忙碌"); cho.add("请勿打扰"); Imagecanvas canvas1 = new Imagecanvas(); p1.setSize(360, 50); p1.add(canvas1); TextField username = new TextField(25); TextField password = new TextField(25); password.setEchoChar('*'); JButton btrystu = new JButton("登陆"); JButton sezhi = new JButton("设置"); JCheckBox check1 = new JCheckBox("记住密码"); JCheckBox check2 = new JCheckBox("自动登陆"); // p1.setSize(360, 200); JPanel p21 = new JPanel(); JPanel p22 = new JPanel(); p21.add(new JLabel("账号:")); p21.add(username); p21.add(new JLabel("<html><font color=blue>注册新账号</font></html>")); // p21.add(new JLabel(" ")); p21.add(new JLabel("密码:")); p21.add(password); p21.add(new JLabel("<html><font color=blue> 找 回 密 码 </font></html>")); p22.add(new JLabel("状态:")); p22.add(new JLabel(" ")); p22.add(cho); p22.add(check1); p22.add(check2); p22.add(new JLabel(" ")); p2.add(p21); p2.add(p22); p2.setBounds(100, 300, 200, 300); p2.setLayout(new GridLayout(2, 1, 10, 10)); p3.add(sezhi); p3.add(new JLabel(" ")); p3.add(btrystu); add(BorderLayout.NORTH, p1); add(BorderLayout.CENTER, p2); add(BorderLayout.SOUTH, p3); this.setVisible(true); } public void actionPerformed(ActionEvent e) { } } public class QqBorder { }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值