山寨QQ好友列表



package com.qq.client.view;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

/**
 * 我的好友列表(包括,陌生人,黑名单)
 * 
 * 用到卡片布局
 * 
 * @author Eiffel
 * 
 */
public class QqFriendList extends JFrame implements ActionListener {

 // 我的好友面板(分页1)
 JPanel JPanelFenYe1 = null;
 // 上部一个按钮
 JButton jbtFenYe1Up = null;
 // 中部(一个滚动条,滚动条中包含一个面板)
 JScrollPane jspFenYe1 = null;
 JPanel jpFenYe1Center = null;
 // 下部一个JPanel(包含两个按钮)
 JPanel jpFenYe1Down = null;
 JButton jbtFenYe1Down1 = null;
 JButton jbtFenYe1Down2 = null;

 // 陌生人面板(分页2)
 JPanel JPanelFenYe2 = null;
 // 上部(两个按钮)
 JPanel jpFenYe2Up = null;
 JButton jbtFenYe2Up1 = null;
 JButton jbtFenYe2Up2 = null;
 // 中部一个滚动条(包含一个面板)
 JScrollPane jspFenYe2 = null;
 JPanel jpFenYe2Center = null;
 // 下部(一个按钮)
 JButton jbtFenYe2Down = null;

 // 黑名单面板(分页3)
 JPanel JPanelFenYe3 = null;
 // 上部(三个按钮)
 JPanel jpFenYe3Up = null;
 JButton jbtFenYe3Up1 = null;
 JButton jbtFenYe3Up2 = null;
 JButton jbtFenYe3Up3 = null;
 // 中部一个滚动条(包含一个面板)
 JScrollPane jspFenYe3 = null;
 JPanel jpFenYe3Center = null;

 // 卡片布局
 CardLayout cardLayout = null;
 // 好友集合
 ArrayList<Friend> friendList = null;

 // 构造方法
 public QqFriendList() {
  // 初始化
  cardLayout = new CardLayout();
  JPanelFenYe1 = getJPanelFenYe1();
  JPanelFenYe2 = getJPanelFenYe2();
  JPanelFenYe3 = getJPanelFenYe3();

  // 设置窗体为卡片布局
  this.setLayout(cardLayout);
  // 添加
  this.add(JPanelFenYe1, "1");
  this.add(JPanelFenYe2, "2");
  this.add(JPanelFenYe3, "3");
  // 属性
  this.setTitle("QQ好友列表");
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setResizable(false);
  this.setBounds(500, 100, 150, 500);
  this.setVisible(true);
 }

 public static void main(String args[]) {
  new QqFriendList();
 }

 // 我的好友面板
 public JPanel getJPanelFenYe1() {
  // 初始化面板为Border布局
  JPanelFenYe1 = new JPanel(new BorderLayout());

  // 上部
  jbtFenYe1Up = new JButton("我的好友");
  JPanelFenYe1.add(jbtFenYe1Up, BorderLayout.NORTH);
  // 中部
  jpFenYe1Center = new JPanel(new GridLayout(20, 1, 4, 4));
  jspFenYe1 = new JScrollPane(jpFenYe1Center);
  // 添加好友到jpCenter
  for (int i = 1; i <= 20; i++) {
   JLabel jl = new JLabel(Integer.toString(i), JLabel.CENTER);
   jpFenYe1Center.add(jl);
  }
  JPanelFenYe1.add(jspFenYe1, BorderLayout.CENTER);
  // 下部
  jbtFenYe1Down1 = new JButton("陌生人");
  jbtFenYe1Down2 = new JButton("黑名单");
  jpFenYe1Down = new JPanel(new GridLayout(2, 1));
  jpFenYe1Down.add(jbtFenYe1Down1);
  jpFenYe1Down.add(jbtFenYe1Down2);
  JPanelFenYe1.add(jpFenYe1Down, BorderLayout.SOUTH);

  // 添加监听
  // jbtFenYe1Up.addActionListener(this);
  jbtFenYe1Down1.addActionListener(this);
  jbtFenYe1Down2.addActionListener(this);

  return JPanelFenYe1;

 }

 // 陌生人面板
 public JPanel getJPanelFenYe2() {
  // 声明
  JPanelFenYe2 = new JPanel(new BorderLayout());

  // 初始化
  // 上部
  jpFenYe2Up = new JPanel(new GridLayout(2, 1));
  jbtFenYe2Up1 = new JButton("我的好友");
  jbtFenYe2Up2 = new JButton("陌生人");
  jpFenYe2Up.add(jbtFenYe2Up1);
  jpFenYe2Up.add(jbtFenYe2Up2);
  // 中部
  jpFenYe2Center = new JPanel(new GridLayout(20, 1, 4, 4));
  jspFenYe2 = new JScrollPane(jpFenYe2Center);
  for (int i = 1; i <= 20; i++) {
   JLabel jl = new JLabel(Integer.toString(i), JLabel.CENTER);
   jpFenYe2Center.add(jl);
  }
  // 下部
  jbtFenYe2Down = new JButton("黑名单");

  // 添加
  // 上部
  JPanelFenYe2.add(jpFenYe2Up, BorderLayout.NORTH);
  // 中部
  JPanelFenYe2.add(jspFenYe2);
  // 下部
  JPanelFenYe2.add(jbtFenYe2Down, BorderLayout.SOUTH);

  // 监听按钮
  jbtFenYe2Up1.addActionListener(this);
  // jbtFenYe2Up2.addActionListener(this);
  jbtFenYe2Down.addActionListener(this);

  return JPanelFenYe2;
 }

 // 黑名单好友面板
 public JPanel getJPanelFenYe3() {
  // 声明
  JPanelFenYe3 = new JPanel(new BorderLayout());
  // 初始化
  // 上部
  jpFenYe3Up = new JPanel(new GridLayout(3, 1));
  jbtFenYe3Up1 = new JButton("我的好友");
  jbtFenYe3Up2 = new JButton("陌生人");
  jbtFenYe3Up3 = new JButton("黑名单");
  jpFenYe3Up.add(jbtFenYe3Up1);
  jpFenYe3Up.add(jbtFenYe3Up2);
  jpFenYe3Up.add(jbtFenYe3Up3);
  // 中部
  jpFenYe3Center = new JPanel(new GridLayout(20, 1, 4, 4));
  jspFenYe3 = new JScrollPane(jpFenYe3Center);
  for (int i = 1; i <= 20; i++) {
   JLabel jl = new JLabel(Integer.toString(i), JLabel.CENTER);
   jpFenYe3Center.add(jl);
  }
  // 添加
  JPanelFenYe3.add(jpFenYe3Up, BorderLayout.NORTH);
  JPanelFenYe3.add(jspFenYe3, BorderLayout.CENTER);

  // 监听按钮
  jbtFenYe3Up1.addActionListener(this);
  jbtFenYe3Up2.addActionListener(this);

  return JPanelFenYe3;
 }

 @Override
 public void actionPerformed(ActionEvent e) {
  if (e.getSource() == jbtFenYe1Down1 || e.getSource() == jbtFenYe3Up2) {
   // 陌生人
   cardLayout.show(this.getContentPane(), "2");
  } else if (e.getSource() == jbtFenYe2Up1
    || e.getSource() == jbtFenYe3Up1) {
   // 我的好友
   cardLayout.show(this.getContentPane(), "1");
  } else if (e.getSource() == jbtFenYe1Down2
    || e.getSource() == jbtFenYe2Down) {
   // 黑名单
   cardLayout.show(this.getContentPane(), "3");
  }

 }
}

// 好友信息
class Friend {
 // 声明成员
 private Image touxiang;
 private String name;
 private String sex;
 private int age;

 // 构造方法
 public Friend(String name, String sex, int age) {
  this.name = name;
  this.sex = sex;
  this.age = age;

 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String getSex() {
  return sex;
 }

 public void setSex(String sex) {
  this.sex = sex;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值