java qq好友上线 好友面板更新如何实现_Java实现类MSN、QQ好友上线通知界面
// Test.java
//主界面,其中只有一个button,当点击时调用Popup在右下角显示像MSN和QQ一样的popup界面。
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Test {
public static void main(String[] args) {
final Display display = new Display();
Shell shell = new Shell();
shell.setText("aaa");
shell.setSize(250, 150);
final Button button = new Button(shell, SWT.NONE);
button.setBounds(50, 20, 100, 25);
button.setText("button");
//监听button的事件,当用户点击时调用Popup类显示popup界面。
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
//实例化popup类,构造函数为popup界面中出现的提示信息。
Popup popup = new Popup("您的好友xxx上线了。");
popup.start();
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
// Popup.java
//实现像MSN,QQ一样的好友上线通知popup
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class Popup extends Thread {
Shell shell;
protected int moveStep = 2; //每次移动的pixel
protected int upPosition; //能移动到的最上面坐标
protected int downPosition; //当前popup的边框坐标
protected int leftPosition; //popup左边边框坐标 public Popup(final String message) {
shell = new Shell(SWT.ON_TOP);
Text text = new Text(shell, SWT.MULTI | SWT.WRAP);
text.setBounds(10, 20, 180, 80);
text.setBackground(shell.getBackground());
text.setText(message);
//取屏莫大小
Rectangle area = Display.getDefault().getClientArea();
upPosition = area.height - 100;//计算出popup界面在屏幕显示的最高位置
downPosition = area.height + 100;//计算出popup界面的初始位置
leftPosition = area.width - 180;
shell.setSize(180, 100);
//初始化popup位置
shell.setLocation(leftPosition, downPosition);
shell.open();
}
public void run() {
Display display = shell.getDisplay();
while (true) {
try {
Thread.sleep(10);
//判断当前位置是否小于能出现的最高位置,小于的话就说明还可以向上移动。
if ((downPosition - moveStep) > upPosition) {
display.asyncExec(new Runnable() {
public void run() {
shell.setLocation(leftPosition, downPosition- moveStep);
downPosition -= moveStep;
}
});
//此时已经移动到了最高位置,显示5秒钟后,关闭窗口并退出。
} else {
Thread.sleep(5000);
display.asyncExec(new Runnable() {
public void run() {
shell.dispose();
}
});
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
java qq好友上线 好友面板更新如何实现_Java实现类MSN、QQ好友上线通知界面相关推荐
- java计算今天是今年的第几周_java calendar类根据当前日期时间,计算当前日期在当前月是第几周,与周跨月问题,...
第一步 先根据当前日期时间 计算出本周的开始时间与结束日期 第二步 判断当前日期大于等于本周开始日期,并且当前日期小于等于本周结束日期, 就把本周开始日期当做条件计算出当前日期是第几周 // 周跨月也 ...
- QQ好友自定义头像不更新的解决办法(转)
QQ好友自定义头像不更新的解决办法(转) 最近常有好友问QQ上的好友改了自定义头像后怎么更新不了.今天,笔者也遇到了同样的情况,在改了自定义头像后,好友列表中的自己的图像就是不能自动更新且更新好友资料 ...
- 如何判断对方列表里是不是好友_对方QQ是否把我删了不确定是否还在他的好友列表里...
有时候一些好久没联系的好友,不确定你是否还存在他的QQ里,又不想问,那么小编教你办法简单的识别自己是否还存在好友的列表里. 方法一 1.鼠标右击你的好友,选择删除好友. 2.在跳出的窗口,切记一定要把 ...
- QQ显好友IP地址插件2018版:支持最新版的QQ
NtrQQ是一款功能强大的QQ辅助增强插件,主要功能为QQ显IP和QQ去广告,为了应大家的需求,增加了一系列强悍的功能,但是从本质上,NtrQQ就是一款传统的QQ显IP插件. 此QQ显示ip插件特点: ...
- qq私聊顺序回复_QQ更新!这些新功能,一个比一个好用
哎呦,小雷早上起来发现QQ居然开启新版本内测了. 微信和QQ,虽然同样是鹅厂下面的IM软件,但两个的路线完全不相同. 微信咱们都知道什么尿性了,一副「你吐槽归你吐槽,我改算我输」的样子.咱们想要的功能 ...
- java通讯课程_Java项目实战-仿QQ即时通讯软件视频课程
1.学习JAVA的Swing做UI设计, 2学习用JAVA语言进行数据库编程,熟练使用Connection,Statement,PreparedStatement,ResultSet等数据库类库: 3 ...
- 寻仙手游维护公告服务器停服更新,寻仙手游新服更新内容汇总 新坐骑黑鸾幽煌上线...
寻仙手游新服更新内容汇总 新坐骑黑鸾幽煌上线,新服更新中加入了新坐骑兑换活动,有黑鸾幽煌坐骑兑换活动和上品坐骑清灵幻鹿,预计11月3日苹果版本可以全面更新了.我们将于11月03日(周五)凌晨进行停服更 ...
- java调试宝塔api_宝塔面板API接口配置文件
下面是编程之家 jb51.cc 通过网络收集整理的代码片段.编程之家小编现在分享给大家,也给大家做个参考. 我们在使用宝塔面板的的时候,如果需要用 PHP 来操作一些 API 接口,那么肯定需要知道一 ...
- python微信好友检测_用Python调教微信,实现自动回复 和 微信好友分布,好友性别图,好友标签...
官方华丽的术语---略 一个自动回复机器人 微信自上线以来,一直没有自动回复的功能,想必是有他们的理念.但是有些人群,确实对此功能有一定需求,我举两个栗子: 不愿时刻被消息打扰的人 消息需要批量处理的 ...
最新文章
- android高德地图显示多点标记,高德地图多点标记自定义地图
- WebView你真的熟悉吗?看了才知道
- 【深度学习】图像自动处理工具SimpleITK的使用(Python)
- RocketMQ源码分析之RocketMQ事务消息实现原理上篇(二阶段提交)
- “杨振宁理论物理研究所”
- JavaScript基础 -- js常用内置方法和对象
- Centos7查看网络配置
- Serverless 应用如何管理日志 持久化数据
- virtual 修饰符与继承对析构函数的影响(C++)
- 在fedora linux中,wine 成功安装手记
- 用python解决约瑟夫环
- 设计模式 六大法则
- Linux chmod 命令 设置权限
- win10安装solidworks2016注册机闪退的问题
- linux系统双网卡不能同时启动,针对RHEL中双网卡IP不能同时被访问的解决方法
- PyTorch 公开发布五周年;NGINX 之父 Igor Sysoev 从 F5 离职;Openfire 4.7.0 发布 | 开源日报
- Windows的hosts文件所在位置
- python将txt转为字符串_Python玩转《生僻字》
- Linux系统安装字体。在代码中生成图片时中文乱码
- 华南X99主板安装ESXi7.0或ESXi8.0的配置说明