Java学习笔记之四——仿作QQ2013登录窗口

首先说明一点的是:我现在学java才不到一个月,所以做出来的东西都很浅显。希望有高手能指导一二,再次也希望跟各位交流一下,如果您对我的代码有修改的地方,欢迎在评论里面指出,大家一起研究一起进步。还有,我现在学的只是基础,所以请先理解我有些代码的丑陋,我也会好好学的。谢谢各位大神了!

在开始之前,我先在QQ2013的登陆窗口上面截了两张图片,当然本来的登录界面是动态的,但是目前我的技术就到这里,所以只能以图片代替。

最后做出来的样子大概就是下图那样:

做出来大概就是这个样子。先说说我的思路吧。我将上面这个窗口分为三部分,分别是北部,中部,南部。北部就是那张图片,南部是一个登陆按钮,中部又分为两部分西部和中部。所以我就需要三个JPanel。一个JButton,两个JcheckBox,四个JLabel ,一个文本输入框,一个密码输入框。

因为JLabel可以直接放置图片,所以:

JLabel jlb1 = new JLabel(new ImageIcon("toubu.png"));

右边的QQ头像同上面的防止方法。

实现出来的具体代码如下:

package com.miewenzi.diaocha;
/**
 * @author 张松
 *
 */
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.*;
import java.awt.*;
public class QQ2013 extends JFrame{
    JLabel jlb1 = new JLabel(new ImageIcon("toubu.png"));
    
    JLabel jlb2 = new JLabel("<html><a href='www.qq.com'>注册账号</a>",JLabel.CENTER);
    
    JLabel jlb3 = new JLabel("<html><a href='http://www.qq.com'>找回密码</a>",JLabel.CENTER);
    JLabel jlb4 = new JLabel(new ImageIcon("QQ.png"));
    JButton jb1 = new JButton("登录");
    JTextField jtf = new JTextField(10);
    JPasswordField jpf = new JPasswordField(10);
    JCheckBox jcb1 = new JCheckBox("记住密码");
    
    JCheckBox jcb2 = new JCheckBox("自动登陆");
    JPanel jp1 = new JPanel();
    JPanel jp2 = new JPanel();
    JPanel jp3 = new JPanel();
    public QQ2013(){
        
        jp1.add(jtf);
        jp1.add(jlb2);
        jp1.add(jpf);
        jp1.add(jlb3);
        jp1.add(jcb1);
        jp1.add(jcb2);
        jp3.add(jp2);
        jp3.add(jlb4);
        
        jlb4.add(jp2,BorderLayout.WEST);
        jp3.add(jp1,BorderLayout.CENTER);
        jp1.setLayout(new GridLayout(3, 3));
        this.add(jb1,BorderLayout.SOUTH);
        this.add(jp3,BorderLayout.CENTER);
        this.add(jlb1,BorderLayout.NORTH);
        ImageIcon icon = new ImageIcon("QQ.png");
        this.setIconImage(icon.getImage());
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.pack();
        this.setTitle("QQ登录");
    }
    public static void main(String[] args){
        new QQ2013();
    }
}

其中注册账号和找回密码又超文本链接,所以我直接在JLabel中添加实现:

JLabel jlb2 = new JLabel("<html><a href='www.qq.com'>注册账号</a>",JLabel.CENTER);
    
    JLabel jlb3 = new JLabel("<html><a href='http://www.qq.com'>找回密码</a>",JLabel.CENTER);

但是有一点目前我不了解,因为在QQ面板中,注册账号和找回密码这两个都有鼠标手势,但是我想放上去却出现一点小问题:JLabel可以添加setCursor,但是我一添加程序就马上报错。我也不知道怎么解决 ,希望有大神可以指点一二。

posted on 2013-01-03 09:33  liwustore  阅读(6138)  评论(2编辑  收藏  举报