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