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,但是我一添加程序就馬上報錯。我也不知道怎么解決 ,希望有大神可以指點一二。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM