仿的QQ登录界面:
一、QQ登录界面:
二、实现结果:
背景是黑色的,在上面有些类似流星的飞过,这个是用线程简单实现的,至于流星呢,就是直线+圆的组合。呵.应该是手速问题,截图就截到一个小流星了
三、实现代码:
1.Main:
package Login; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class Login_UI extends JFrame{ public static void main(String[] args) { new Login_UI().init(); } private Graphics g; public void init(){ this.setTitle("动态背景测试"); this.setSize(430, 372); this.setResizable(false); this.setDefaultCloseOperation(3); this.setLocationRelativeTo(null); this.setLayout(null); // //设置界面的背景图片. JLabel label1 =new JLabel(); ImageIcon backImg =new ImageIcon("Login_Folder/backimg2.png"); label1.setIcon(backImg); label1.setBounds(0, 0, 430, 150); this.add(label1); //设置图像 JLabel lable2 =new JLabel(); Image backImg2 =new ImageIcon("Login_Folder/QQ图像.png").getImage(); lable2.setIcon(new ImageIcon(backImg2)); lable2.setBounds(42, 193, 80, 80); this.add(lable2); // //设置账号 JTextField userName =new JTextField(); userName.setBounds(133, 193, 193, 30); this.add(userName); JLabel label3 =new JLabel("注册账号:"); label3.setForeground(Color.blue); label3.setBounds(336, 193, 70, 30); this.add(label3); // //添加密码输入框 JPasswordField pwd =new JPasswordField(); pwd.setBounds(133, 222, 193, 30); this.add(pwd); JLabel label4 = new JLabel("找回密码:"); label4.setForeground(Color.blue); label4.setBounds(337, 230, 70, 30); this.add(label4); // //输入框 JCheckBox box1 =new JCheckBox("记住密码"); box1.setBounds(133, 260, 90, 12); this.add(box1); // JCheckBox box2=new JCheckBox("自动登录"); box2.setBounds(261, 260, 90, 12); this.add(box2); // JButton btn =new JButton("登 录"); btn.setBounds(133, 287, 194, 30); this.add(btn); JLabel label5 =new JLabel(); ImageIcon backImg5 =new ImageIcon("Login_Folder/img1.png"); label5.setIcon(backImg5); label5.setBounds(10, 302, 26, 21); this.add(label5); JLabel label6 =new JLabel(); ImageIcon backImg6 =new ImageIcon("Login_Folder/img2.png"); label6.setIcon(backImg6); label6.setBounds(390, 299, 26, 21); this.add(label6); this.setVisible(true); } @Override public void paint(Graphics g) { // TODO Auto-generated method stub super.paint(g); Login_Thread tr= new Login_Thread(g); tr.start(); tr.draw(g); // this.repaint(); } }
2.背景线程:
package Login; import java.awt.Color; import java.awt.Graphics; import java.util.Random; public class Login_Thread extends Thread{ //定义属性 int x1; int y1; Random rd= new Random(); Graphics g; public Login_Thread(Graphics g){ this.x1 =rd.nextInt(430); this.y1= rd.nextInt(150); this.g=g; } public void move(){ if(x1>=430){ x1=rd.nextInt(430); } if(y1>=150){ y1=rd.nextInt(150); } x1=x1+2; y1=y1+2; } @Override public void run() { // TODO Auto-generated method stub //super.run(); try { move(); Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void draw(Graphics g){ g.setColor(Color.white); g.drawLine(x1, y1, x1+5, y1+5); g.drawOval(x1+5, y1+5, 3, 3); } }
四、分析:
1.想了很久,不过那个背景的企鹅图案和QQ,这个不知道怎么搞到素材
2.就是账号和密码那两个框,我的实现应该有些简单了,之后再想想吧
五、总结:
好久没写界面了,写写也好难,一个布局就搞了很久.
相关推荐
仿QQ登陆界面 仿QQ登陆界面 仿QQ登陆界面 仿QQ登陆界面
仿qq登陆界面,C++编写,工具是VS2008
仿QQ登陆界面
winform 高仿 qq 登陆界面
仿QQ登陆界面源代码
一款完全仿照最新QQ登陆的界面UI设计,同时实现了部分逻辑功能,希望可以帮到喜欢研究UI的朋友做参考
高仿QQ的登陆程序,具体内容可以参考博文 如何使用MFC编写自定义UI界面【附高仿QQ登陆界面范例程序】 http://blog.csdn.net/hujkay/article/details/23522211
java 仿QQ登陆界面 主界面java 仿QQ登陆界面 主界面java 仿QQ登陆界面 主界面 效果可以去我QQ空间看 http://user.qzone.qq.com/309306055/infocenter#!app=2&pos=1337351044
用Qt5做的高仿登陆界面,可以直接运行,由于版本原因,Qt4运行可能需要修改一下。
用Swing 做的仿QQ登陆界面,自己写了组成功能,和登陆验证功能。 很适合初学Swing编程学习使用,希望您感兴趣。也可以继续完善我的功能。不懂的可以联系我!`
易语言仿QQ登陆界面皮肤源码,仿QQ登陆界面皮肤
超高仿真 动态图片html调用 易语言文件
易语言源码易语言仿QQ登陆界面皮肤源码.rar
xamarin Android 仿QQ 登陆界面。 用Xamarin.Android做了一个仿QQ登陆界面,具有记录头像登陆的功能 xamarin
仿QQ登陆界面java程序设计,能够实现简单的QQ登陆界面设计,包含代码和说明文档
仿qq登陆界面及保存密码
易语言仿QQ登陆界面皮肤源码.rar
Android_仿QQ登陆界面