这个界面实现了以前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); } }