我写了一个简单的,自己改改,要睡觉了。

package qq;

public class Friend {

//昵称

private String displayName;

//唯一标识

private int id;

//是否在线

private boolean isOnLine;

public Friend(String displayName, int id, boolean isOnLine) {

this.displayName = displayName;

this.id = id;

this.isOnLine = isOnLine;

}

public String getDisplayName() {

return displayName;

}

public void setDisplayName(String displayName) {

this.displayName = displayName;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public boolean isOnLine() {

return isOnLine;

}

public void setOnLine(boolean isOnLine) {

this.isOnLine = isOnLine;

}

}

package qq;

import java.awt.Dimension;

import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.List;

import javax.swing.JButton;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class FriendListPnl extends JPanel {

private List friends;

private JButton[] friendList;

public FriendListPnl(List friends) {

this.friends = friends;

initFriendList();

initGUI();

}

private void initGUI()

{

this.setLayout(new GridBagLayout());

GridBagConstraints constraints = new GridBagConstraints();

constraints.fill = GridBagConstraints.HORIZONTAL;

constraints.weightx = 1.0;

constraints.gridx = 0;

constraints.ipadx = 1;

constraints.ipady = 1;

constraints.anchor = GridBagConstraints.NORTHWEST;

for (int i = 0; i < friendList.length; i++) {

constraints.gridy = i;

if (i == friendList.length - 1)

{

constraints.weighty = 1.0;

}

this.add(friendList[i], constraints);

}

}

private void initFriendList()

{

friendList = new JButton[friends.size()];

Dimension d = new Dimension(100, 22);

JButton friend = null;

Friend friendInfo = null;

for (int i = 0; i < friendList.length; i++) {

friend = new JButton();

friend.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(null, "您好!");

}

});

friend.setBorder(null);

friendInfo = friends.get(i);

friend.setText(new StringBuffer().append(friendInfo.getDisplayName())

.append("(").append(friendInfo.getId()).append(")").toString());

friend.setPreferredSize(d);

friend.setEnabled(friendInfo.isOnLine());

friendList[i] = friend;

}

}

}

package qq;

import java.awt.Dimension;

import java.awt.Point;

import java.awt.Toolkit;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

public class TestFrame {

public static void main(String[] args) {

Friend f1 = new Friend("天下", 22, true);

Friend f2 = new Friend("倚天", 21, false);

Friend f3 = new Friend("屠龙", 20, true);

List list = new ArrayList();

list.add(f1);

list.add(f2);

list.add(f3);

JFrame frame = new JFrame("QQ");

frame.setSize(150, 350);

Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

frame.setLocation(new Point(d.width - frame.getWidth() - 25, 10));

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().add(new JScrollPane(new FriendListPnl(list)));

frame.setVisible(true);

}

}

好友列表页面java_怎样制作QQ好友列表的界面?相关推荐

  1. qq好友列表获取导出,利用QQ协议实现好友数据备份,包含:qq好友、QQ分组、QQ群、qq群成员【附code源码】

    qq好友列表获取导出,利用QQ协议实现qq好友数据备份,包含:qq好友.QQ分组.QQ群.qq群成员. 我们是在浏览器中的操作,接下来看看数据到底怎么获取的,我们通过Fiddler的查找功能,就可以查 ...

  2. qq好友列表html页面,动态爬虫之QQ好友列表

    步骤 1.分析qzone请求 2.分析参数来源 3.仿照数据请求 上次写的一个qzone登陆写的不详细这次决定写一个详细分析qzone js 获取好友列表 分析qzone请求 我们的好友列表要从 qz ...

  3. HTML模仿QQ好友列表,JS+CSS实现类似QQ好友及黑名单效果的树型菜单

    本文实例讲述了JS+CSS实现类似QQ好友及黑名单效果的树型菜单.分享给大家供大家参考.具体如下: 今天介绍的这个菜单堪称极品啊,不过里面的有些图标丢失了,路径还留在那,真想使用的朋友自己制作两个折叠 ...

  4. python爬取qq好友_利用Python爬取QQ好友空间数据

    程序思路 构造请求链接 先获取所有的好友 获取说说 获取留言 获取个人信息 把数据存到数据库 以上就是整个过程中的大思路,然后在逐步把大思路化解成小的具体的问题去解决.本人对于Python学习创建了一 ...

  5. 猜想 QQ好友分组 (微信好友)多层次分组策略 QQ好友过多

    猜想 QQ好友过多 QQ好友分组 (微信好友)多层次分组策略  问题: 在QQ好友比较多的好友分组,一大堆不同的好友简单的堆叠在一起,翻看一次一个分组里数百个的好友要花费较长的时间,而且一大排头像文字 ...

  6. android制作好友列表,Qt制作QQ好友列表

    郁闷了好长时间,QQ列表怎么做呢,前一篇文章说想重写QTreeView,还要写个库,有点说大话了.其实一开始我就被骗了.因为当我看QQ列表的第一印象是用List,第2印象是用TreeView,第三我就 ...

  7. android仿qq折叠,android列表收缩与展开仿QQ好友列表(非常详细,附源码)

    好友QQ列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到android的E ...

  8. Android列表收缩与展开仿QQ好友列表(非常详细,附源码)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka ExpandableListView是一个垂直滚动显示两级列表项的视图,与ListView不同 ...

  9. html手机显示评论列表页面,请问如何完美显示评论列表头像

    目前具体思路是通过轮询构建头像,条件是通过判断评论区条目length.问题是有时依然无法显示评论区头像.以下是目前的代码: function showAvatar() { $('.feedbackIt ...

最新文章

  1. ionic3 java,ionic3-环境搭建问题
  2. SpringMVC中的 --- 异常处理
  3. linux查看内核版本、系统版本、系统位数(32or64)
  4. Java技巧:深拷贝的两种方式2(转)
  5. C指针原理(46)-C应用技巧(1)
  6. Android UI selector 例子 (drawable/color)
  7. 十年磨一剑:从2009启动“去IOE”工程到2019年OceanBase拿下TPC-C世界第一
  8. native react 更新机制_react-native热更新全方位讲解
  9. 深入理解redux之从redux源码到react-redux的原理
  10. 阿里云mysql不让锁表_MySQL中InnoDB锁不住表的原因
  11. 基于 socket.io 实现实时你画我猜游戏
  12. SeleniumCSS选择器
  13. 怎么提前体验鸿蒙,鸿蒙OS手机版明天发布,开发者提前体验,上手操作毫无难度...
  14. 计算机文化基础知识点第十一版,计算机文化基础知识点总结(经典版) 考试专用.doc...
  15. 关于vue、js连接打印机
  16. 2022-2028年中国生物质颗粒行业市场行情动态及竞争战略分析报告
  17. 移动APP和小程序的低代码开发平台有哪些
  18. WAS以及weblogic日志说明
  19. m基于MATLAB的FM调制收音机仿真实现
  20. 【图论】C008_HDU 1317 XYZZY(spfa / floyd+ spfa / 一遍 spfa)

热门文章

  1. TWS耳机哪款好用?2022TWS耳机推荐
  2. 17.Rust中函数式语言功能:迭代器与闭包
  3. 深度学习中Concat层和Flatten层作用
  4. php面向对象手册,php学习笔记之面向对象
  5. MATLAB利用仿射变换实现图像的缩放,旋转,剪切,平移操作
  6. 智能车扫线——斑马线识别
  7. 立场开源 | 电动锡膏挤出器
  8. 133、初沸点的概念
  9. 克鲁格曼《微观经济学》第2版课后习题答案
  10. 电脑下方的任务栏点不动了怎么办???