java实现简单的QQ登录界面

java在图形界面,不是太强项,但不是不可以做,它的开源是very nice!

实现代码如下(想实现完美的界面,可能要更多coding的支持):

package com.ts.x.swing;

import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JRootPane;
import javax.swing.JTextField;

public class QQ extends JFrame{

	private static final long serialVersionUID = -6788045638380819221L;
	//用户名
	private JTextField ulName;
	//密码
	private JPasswordField ulPasswd;
	//小容器
	private JLabel j1;
	private JLabel j2;
	private JLabel j3;
	private JLabel j4;
	//小按钮
	private JButton b1;
	private JButton b2;
	private JButton b3;
	//复选框
	private JCheckBox c1;
	private JCheckBox c2;
	//列表框
	private JComboBox<String> cb1;
	/**
	 * 初始化QQ登录页面
	 * */
	public QQ(){
		//设置登录窗口标题
		this.setTitle("QQ登录");
		//去掉窗口的装饰(边框)
//		this.setUndecorated(true);
		//采用指定的窗口装饰风格
		this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
		//窗体组件初始化
		init();
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//设置布局为绝对定位
		this.setLayout(null);
		this.setBounds(0, 0, 355, 265);
		//设置窗体的图标
		Image img0 = new ImageIcon("D:/logo.png").getImage();
		this.setIconImage(img0);
		//窗体大小不能改变
		this.setResizable(false);
		//居中显示
		this.setLocationRelativeTo(null);
		//窗体显示
		this.setVisible(true);
	}
	/**
	 * 窗体组件初始化
	 * */
	public void init(){
		//创建一个容器,其中的图片大小和setBounds第三、四个参数要基本一致(需要自己计算裁剪)
		Container container = this.getContentPane();
		j1 = new JLabel();
		//设置背景色
		Image img1 = new ImageIcon("D:/bgimg.png").getImage();
		j1.setIcon(new ImageIcon(img1));
		j1.setBounds(0, 0, 355, 265);
		//qq头像设定
		j2 = new JLabel();
		Image img2 = new ImageIcon("D:/hdimg.png").getImage();
		j2.setIcon(new ImageIcon(img2));
		j2.setBounds(40, 95, 50, 53);
		//用户名输入框
		ulName = new JTextField();
		ulName.setBounds(100, 100, 150, 20);
		//注册账号
		j3 = new JLabel("注册账号");
		j3.setBounds(260, 100, 70, 20);
		//密码输入框
		ulPasswd = new JPasswordField();
		ulPasswd.setBounds(100, 130, 150, 20);
		//找回密码
		j4= new JLabel("找回密码");
		j4.setBounds(260, 130, 70, 20);
		//记住密码
		c1 = new JCheckBox("记住密码");
		c1.setBounds(105, 155, 80, 15);
		//自动登陆
		c2 = new JCheckBox("自动登陆");
		c2.setBounds(185, 155, 80, 15);
		//用户登陆状态选择
		cb1 = new JComboBox<String>();
		cb1.addItem("在线");
		cb1.addItem("隐身");
		cb1.addItem("离开");
		cb1.setBounds(40, 150, 55, 20);
		//登陆按钮
		b1 = new JButton("登录");
		//设置字体和颜色和手形指针
		b1.setFont(new Font("宋体", Font.PLAIN, 12));
		b1.setForeground(Color.RED);
		b1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		b1.setBounds(280, 200, 65, 20);
		//给按钮添加
		b1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				String cmd = e.getActionCommand();
				if("登录".equals(cmd)){
					String username = ulName.getText();
					String userpassword = ulPasswd.getText();
					if(username.equals("tskk") && userpassword.equals("123456")){
						JOptionPane.showConfirmDialog(null, "登录成功");
					}else{
						JOptionPane.showConfirmDialog(null, "登录失败");
					}
				}
			}
		});
		//多账号
		b2 = new JButton("多账号");
		b2.setBounds(5, 200, 75, 20);
		//设置
		b3 = new JButton("设置");
		b3.setBounds(100, 200, 65, 20);
		//所有组件用容器装载
		j1.add(j2);
		j1.add(j3);
		j1.add(j4);
		j1.add(c1);
		j1.add(c2);
		j1.add(cb1);
		j1.add(b1);
		j1.add(b2);
		j1.add(b3);
		container.add(j1);
		container.add(ulName);
		container.add(ulPasswd);
	}
	public static void main(String[] args) {
		new QQ();
	}
}

运行结果界面为:

时间: 2024-09-29 22:47:20

java实现简单的QQ登录界面的相关文章

使用java swing实现qq登录界面示例分享_java

用Java Swing做的一个QQ登录界面 复制代码 代码如下: import java.awt.Container;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBox;import javax

Android实现QQ登录界面遇到问题及解决方法_Android

先给大家炫下效果图: 首先过程中碰到的几个问题: 1.对 EditText 进行自定义背景 2.运行时自动 EditText 自动获得焦点 3.在获得焦点时即清空 hint ,而不是输入后清空 4.清空按钮的出现时机(在得到焦点并且有输入内容时) ......... --- 这些问题都有一一解决 --- 以下是代码: 布局 fragment_main(问题2) <!-- android:focusable="true" android:focusableInTouchMode=&

Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy

原文:Android菜鸟的成长笔记(3)--给QQ登录界面说So Easy 上一篇:Android菜鸟的成长笔记(2)--第一个Android应用 我们前面已经做了第一个Android应用程序,虽然有点像QQ的登录界面,但是很多地方还是很难看,这一篇咱们来将这个界面做成一个标准的商业界面,并一起来了解Android中的代码运行的原理. 好吧,咱们开始吧,首先启动模拟器,为了让咱们的界面和QQ的登录界面一样我下载了一个QQ的apk文件,下面咱们将这个apk安装到我们的模拟器上,看看效果. 怎么将a

高仿Windows Phone QQ登录界面实例代码

 这篇文章主要介绍了高仿Windows Phone QQ登录界面实例代码,有需要的朋友可以参考一下 给 TextBox文本框前添加图片   扩展PhoneTextBox:添加一个类"ExtentPhoneTextBox"继承 PhoneTextBox ,在"ExtentPhoneTextBox"类中添加属性项:     代码如下: public class ExtentPhoneTextBox : PhoneTextBox     {         /// <

Android QQ登录界面绘制代码_Android

先看看效果图: 首先过程中碰到的几个问题:  1.对 EditText 进行自定义背景  2.运行时自动 EditText 自动获得焦点  3.在获得焦点时即清空 hint ,而不是输入后清空  4.清空按钮的出现时机(在得到焦点并且有输入内容时)  ---  这些问题都有一一解决 --- 以下是代码:  布局 fragment_main(问题2) <!-- android:focusable="true" android:focusableInTouchMode="t

如何修改QQ登录界面上的系统文字

如何修改QQ登录界面上的系统文字?下面小编给大家介绍下.   首先,进入QQ的安装目录,xx(安装路径)TencentQQI18N2052这个文件夹.用记事本打开其中名为"StringBundle.xml"的文件.   这个文件里的中文内容,就是QQ登录窗口中涉及到的所有文字信息,我们只要将它们修改为自己想要的内容,然后保存即可.   无需重启电脑,现在运行QQ快捷方式,登录界面的文字部分是不是已经变成我们修改的版本了?   如果修改StringBundle.xml文件后保存报错,可以

仿qq登录界面

最近做一个登录的界面,我脑子里一下就想到QQ的登录界面,简单,美观,所以就找了些资料实现了下,现在整理下 先来看下效果图         1.首先是布局文件XML文件,不解释直接上 1>主界面 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 andr

如何用C#触发QQ登录界面 然后输入账号密码

问题描述 新手刚学习,如何做一个可以可以自动登录QQ的小程序 解决方案 解决方案二:新手就看看基础,尽想着整这些边边角角的需求.用钩子获取窗口句柄,贴一段代码来你看得明白吗解决方案三:哪里有基础看的

高仿Windows Phone QQ登录界面实例代码_实用技巧

给 TextBox文本框前添加图片 扩展PhoneTextBox:添加一个类"ExtentPhoneTextBox"继承 PhoneTextBox ,在"ExtentPhoneTextBox"类中添加属性项: 复制代码 代码如下: public class ExtentPhoneTextBox : PhoneTextBox    {        /// <summary>        /// 文本框图片属性        /// </summa