这个界面实现了以前QQ登录界面的大部分功能,由于水平原因界面背景暂时还没实现,希望有大神指教一下,万分感谢
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JLabel;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.Color;
import java.awt.Container;
import java.awt.Desktop;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
/**
* 仿QQ登陆器
* @author Administrator
*
*/
public class myQQ
{
public static void main(String[] args)
{
JTextField username;
JPasswordField password;
JLabel jl1;
final JLabel jl2, jl3;
JButton but;
JCheckBox jc1,jc2;
JComboBox jcb;
JFrame jf= new JFrame();
jf.setBounds(0,0,340,340);
jf.setLocationRelativeTo(null);
jf.setResizable(false);
jf.setTitle("我的QQ2018");
jf.setLayout(null);
Image image = new ImageIcon("图片/QQ公仔.jpg").getImage();
jf.setIconImage(image);
Container con = jf.getContentPane();
jl1 = new JLabel();
jl1 = new JLabel();
Image image2 = new ImageIcon("图片/QQ公仔.jpg").getImage();
jl1.setIcon(new ImageIcon(image2));
jl1.setBounds(40,95,54,60);
username = new JTextField();
username.setBounds(100,100,150,20);
jl2 = new JLabel("注册账号");
jl2.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
URI uri;
try
{
uri = new URI("https://ssl.zc.qq.com/chs/index.html?from=client&pt_clientver=5503&pt_src=1&ptlang=2052®key=A892C6E5EC7E5EB76F4D3C218465A090D9A629284F9F9C210FF658B210355C35&ADUIN=0&ADSESSION=0&ADTAG=CLIENT.QQ.5503_NewAccount_Btn.0&ADPUBNO=26638");
Desktop dtp = Desktop.getDesktop();
if(Desktop.isDesktopSupported()&&dtp.isSupported(Desktop.Action.BROWSE))
{
try
{
dtp.browse(uri);
} catch(IOException e1)
{
e1.printStackTrace();
}
}
} catch(URISyntaxException e1)
{
e1.printStackTrace();
}
}
public void mouseEntered(MouseEvent e)
{
jl2.setForeground(Color.red);
}
public void mouseExited(MouseEvent e)
{
jl2.setForeground(Color.blue);
}
});
jl2.setBounds(260,100,70,20);
password = new JPasswordField();
password.setBounds(100,130,150,20);
jl3 = new JLabel("找回密码");
jl3.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
URI uri;
try
{
uri = new URI("https://aq.qq.com/cn2/findpsw/pc/pc_find_pwd_input_account?source_id=1003&pt_clientver=5503&pt_src=1&ptlang=2052&aquin=769936084");
Desktop dtp = Desktop.getDesktop();
if(Desktop.isDesktopSupported()&&dtp.isSupported(Desktop.Action.BROWSE))
{
try
{
dtp.browse(uri);
} catch(IOException e1)
{
e1.printStackTrace();
}
}
} catch(URISyntaxException e1)
{
e1.printStackTrace();
}
}
public void mouseEntered(MouseEvent e)
{
jl3.setForeground(Color.red);
}
public void mouseExited(MouseEvent e)
{
jl3.setForeground(Color.blue);
}
});
jl3.setBounds(260,130,70,20);
jc1 = new JCheckBox("记住密码");
jc1.setBounds(185,160,80,15);
jc2 = new JCheckBox("自动登录");
jc2.setBounds(105,160,80,15);
jcb = new JComboBox();
jcb.addItem("在线");
jcb.addItem("隐身");
jcb.addItem("离开");
jcb.addItem("忙碌");
jcb.setBounds(40,160,55,20);
but = new JButton("登陆");
but.setBounds(130,180,100,30);
jf.add(jl1);
jf.add(jl2);
jf.add(jl3);
jf.add(jc1);
jf.add(jc2);
jf.add(jcb);
jf.add(but);
jf.add(username);
jf.add(password);
jf.setVisible(true);
}
}