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