JAVA写的山寨版QQ(1)<登录界面和好友列表>

Java写的山寨版QQ登录界面。。。

QqClientLogin.java


/**
 * Date:2011/07/15
 * 功能:QQ登入界面
 */
package com.qq.client.view;
import javax.swing.*;

import com.sun.crypto.provider.JceKeyStore;

import java.awt.*;
import java.awt.event.*;
public class QqClientLogin extends JFrame{
	//定义组件
	JLabel jl1,jl2,jl3,jl4,jl5;
	JPanel jp1,jp2;
	JButton jb1,jb2,jb3;
	JTextField jtf;
	JPasswordField jpf;
	JCheckBox jcb1,jcb2;
	public QqClientLogin()
	{
		/*处理组件*/
		Font font =new Font("方正喵呜体", Font.BOLD, 15);
		//北部
		jl1 = new JLabel(new ImageIcon("image/tou.jpg"));
		//中部
		jp2 = new JPanel();
		jtf = new JTextField(15);
		jpf = new JPasswordField(15);
		jl2 = new JLabel("QQ号码",JLabel.CENTER);
		jl2.setFont(font);
		jl3 = new JLabel("QQ密码",JLabel.CENTER);
		jl3.setFont(font);
		jl4 = new JLabel("注册账号",JLabel.CENTER);
		jl4.setForeground(Color.BLUE);
		jl4.setFont(font);
		jl5 = new JLabel("忘记密码",JLabel.CENTER);
		jl5.setForeground(Color.BLUE);
		jl5.setFont(font);
		jcb1 = new JCheckBox("记住密码");
		jcb1.setFont(font);
		jcb2 = new JCheckBox("自动登录");
		jcb2.setFont(font);
		jp2.add(jl2);
		jp2.add(jtf);
		jp2.add(jl4);
		jp2.add(jl3);
		jp2.add(jpf);
		jp2.add(jl5);
		jp2.add(jcb1);
		jp2.add(jcb2);
		jp2.setLayout(new GridLayout(3, 3, 5, 5));
		//南部
		jp1 = new JPanel(); 
		jb1 = new JButton("多账号");
		jb1.setFont(font);
		jb2 = new JButton("设置");
		jb2.setFont(font);
		jb3 = new JButton("登录");
		jb3.setFont(font);
		
		//添加组件
		jp1.add(jb1);
		jp1.add(jb2);
		jp1.add(jb3);
		this.add(jp1,"South");
		this.add(jp2, "Center");
		this.add(jl1,"North");
		
		this.setTitle("QQ2011");
		this.setIconImage(new ImageIcon("image/qq.jpg").getImage());
		this.setSize(355, 270);
		this.setLocation(500,200);
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		QqClientLogin login = new QqClientLogin();
	}

}
 
好友列表,QqFriendsList.java

/**
 * Date:2011/07/15
 * 功能:好友列表
 */
package com.qq.client.view;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;

import javax.swing.*;

public class QqFriendsList extends JFrame{
	/*定义组件*/
	//定义第一张卡片
	JPanel fjp1,fjp2,fjp3;
	JLabel fjl1;
	JButton fjb1,fjb2,fjb3,fjb4;
	JScrollPane fjsp1;
	public QqFriendsList()
	{
		/*处理组件 */
		Font font = new Font("方正喵呜体",Font.BOLD,20);
		//处理第一张卡片	
		fjl1 = new JLabel(new ImageIcon("image/ftou.jpg"));
		fjp1 = new JPanel(new BorderLayout());
		fjp2 = new JPanel(new GridLayout(10, 1, 4, 4));
		fjp3 = new JPanel(new GridLayout(3, 1));
		fjb1 = new JButton("↑ 我的好友");
		fjb1.setFont(font);
		fjb1.setForeground(Color.BLUE);
		fjb2 = new JButton("黑名单");
		fjb2.setFont(font);
		fjb3 = new JButton("陌生人");
		fjb3.setFont(font);
		fjp3.add(fjb1);
		//为fjp2初始化好友(假定有10个好友)
		JLabel fjl[] = new JLabel[10];
		for(int i = 0; i < fjl.length; i++)
		{
			fjl[i] = new JLabel("好友"+(i+1), new ImageIcon("image/005.jpg"),JLabel.LEFT);
			fjp2.add(fjl[i]);
		}
		
		fjp3.add(fjb2);
		fjp3.add(fjb3);
		//为第一张卡片添加组件
		fjsp1 = new JScrollPane(fjp2);// 把fjp1放到可以滚动的JScrollPane里
		fjp1.add(fjl1,"North");
		fjp1.add(fjsp1,"Center");
		fjp1.add(fjp3,"South");
		
		this.add(fjp1);
		this.setTitle("QQ2011");
		this.setIconImage(new ImageIcon("image/qq.jpg").getImage());
		this.setSize(300, 590);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		
		
		
		
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		QqFriendsList friendlist = new QqFriendsList();
	}

}
 

登录界面
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个比较两个List<Map<String, String>>的差异的Java代码示例: ```java import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class DiffListMap { public static void main(String[] args) { List<Map<String, String>> list1 = new ArrayList<Map<String, String>>(); List<Map<String, String>> list2 = new ArrayList<Map<String, String>>(); // 初始化数据 Map<String, String> map1 = new HashMap<String, String>(); map1.put("id", "1"); map1.put("name", "Tom"); map1.put("age", "20"); list1.add(map1); Map<String, String> map2 = new HashMap<String, String>(); map2.put("id", "2"); map2.put("name", "Jerry"); map2.put("age", "22"); list1.add(map2); Map<String, String> map3 = new HashMap<String, String>(); map3.put("id", "3"); map3.put("name", "Alice"); map3.put("age", "18"); list1.add(map3); Map<String, String> map4 = new HashMap<String, String>(); map4.put("id", "1"); map4.put("name", "Tom"); map4.put("age", "21"); list2.add(map4); Map<String, String> map5 = new HashMap<String, String>(); map5.put("id", "2"); map5.put("name", "Jerry"); map5.put("age", "22"); list2.add(map5); Map<String, String> map6 = new HashMap<String, String>(); map6.put("id", "4"); map6.put("name", "Bob"); map6.put("age", "25"); list2.add(map6); // 比较两个List<Map<String, String>>的差异 List<Map<String, String>> diffList = new ArrayList<Map<String, String>>(); for (Map<String, String> map : list1) { if (!list2.contains(map)) { diffList.add(map); } } for (Map<String, String> map : list2) { if (!list1.contains(map)) { diffList.add(map); } } // 输出差异数据 for (Map<String, String> map : diffList) { System.out.println(map); } } } ``` 上面的代码中,我们定义了两个List<Map<String, String>>,并分别初始化了一些数据,然后比较这两个List的差异数据,最终输出差异数据。具体的比较方式是,先遍历第一个List,如果在第二个List中不存在相同的Map,则将该Map加入到差异List中;然后再遍历第二个List,如果在第一个List中不存在相同的Map,则将该Map加入到差异List中。最终输出差异List中的所有Map。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值