java 摸拟qq消息提示_java 仿qq消息提示框
引用包:
swt.jar
主类:
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.ShellAdapter;
import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
public class Z {
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell();
shell.setText("aaa");
shell.setSize(250, 150);
shell.addShellListener(new ShellAdapter() {
@Override
public void shellClosed(ShellEvent e) {
MessageBox mb = new MessageBox(shell,SWT.ICON_QUESTION | SWT.OK| SWT.CANCEL);
mb.setText("提示");
mb.setMessage("确定要关闭吗?");
int rc = mb.open();
if (e.doit == (rc == SWT.OK)) {
System.exit(0);
}
else if(e.doit == (rc == SWT.CANCEL)) {
return;
}
}
});
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("更新信息");
popup.start();
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
方法类:
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(String message) {
// TODO Auto-generated constructor stub
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();
}
}
}
}
shell 窗口关闭时出现是否关闭提示:
java 摸拟qq消息提示_java 仿qq消息提示框相关推荐
- java仿qq思路_java仿QQ聊天软件OIM艰辛之路(开源项目)
既然QQ能仿ICQ, 咱java也来个仿QQ. 在我刚学完java后,就想做点什么项目锻炼下自己的技能.凑巧的是,我一个同样学java的朋友在做一个仿qq的项目,不过他做的实在太丑了. 然后他想让我也 ...
- java如何开发游戏大厅_java仿qq游戏大厅的设计与实现
摘要:由于生活节奏的越来越快,人们越来越少的外出游玩.现在的人们为了生活,为了工作,为了家庭无时无刻不在紧张的环境中度过.而一些简单的小游戏则成为了人们放松的主要方式,本文用java语言开发了客户端/ ...
- java qq 源代码_Java 仿QQ聊天源代码
Java 仿QQ聊天源代码介绍,本源码实现了群聊和私聊. 截图如下: 代码文件清单如下: Client.java.ClientThread.java.Server.java.ServerThread. ...
- java版本qq登陆界面_java实现QQ登陆界面
以下是效果截图: 素材: 以下是源代码: import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.Mous ...
- java+登录window域认证网页_Java 实现 QQ 登陆
1. 前言 2. 后台设计 2.1. 数据库设计 2.2. 鉴权流程 3. QQ登陆 3.1. 实名认证 3.2. 创建应用 3.3. 引导用户登录 3.4. 拿到accessToken 3.5. 获 ...
- linux课程设计QQ聊天带界面,仿QQ聊天系统课程设计解析.doc
仿QQ聊天系统课程设计解析 目录 绪论1 一.需求分析1 1.1软件功能需求分析2 1.2 安全需求分析2 二.总体设计3 2.1 软件结构图3 2.2 功能描述3 2.2.1注册功能概要4 2.2. ...
- android qq 圆形头像,Android仿QQ圆形头像个性名片
先看看效果图: 中间的圆形头像和光环波形讲解请看:https://www.jb51.net/article/96508.htm 周围的气泡布局,因为布局RatioLayout是继承自ViewGroup ...
- android写qq动态界面,Android_Android仿QQ空间主页面的实现,今天模仿安卓QQ空间,效果如 - phpStudy...
Android仿QQ空间主页面的实现 今天模仿安卓QQ空间,效果如下: 打开程序的启动画面和导航页面我就不做了,大家可以模仿微信的那个做一下,很简单.这次主要做一下主页面的实现,下面是主页面的布局: ...
- android qq分组展开,Android仿qq分组管理的第三方库
本文实例为大家分享了Android仿qq分组管理的第三方库,供大家参考,具体内容如下 下面先看效果 我们点击展开与折叠分组的功能在库里面是已经封装好的,只能把它已入到项目中,就可以直接用了,十分的方便 ...
最新文章
- 公司电脑安装操作系统遇到的一个坑
- 真我与小我隔着什么?
- javascript菜鸟学习20170113
- 基于存储过程的可扩展性数据访问框架
- QMetaMethod 获取成员函数的元信息
- mongodb清洗数据
- python 小说 云_小说python操作PLC
- mongodb和SQL语句对应查找表
- 本周 火火火火火 的开源项目
- 其他测试用例设计方法-错误推测法与正交实验法
- iOS 提交app到iTunes Connect预览截图截取方法及尺寸大小
- AdapterView 及其子类
- 黑马程序员-java学习第一天
- 修改网站背景图html代码,网站首页顶部添加背景图片的修改代码
- python计算天数包含几周_如何在python中计算几周内两个日期之间的差异
- 排序模型(learning to rank)发展史(偏推荐系统
- AD操作整理(部分)
- 高校逐梦元宇宙,是风口还是噱头?
- c++基础知识点(6)类的继承,构造,析构顺序,虚继承等
- 菜鸟后端程序员花了两天半模仿写出了赶集网主页,速来围观!
热门文章
- CSS样式引入方式和部分CSS样式的设置
- python with关键字_完全理解Python关键字with与上下文管理器
- 联想笔记本暗屏几乎看不见_2020年内存条推荐-选购指南(DDR3/DDR4/台式/笔记本内存)...
- python 枚举类型_Python枚举类
- vim python 代码提示_linux下vim python代码自动补全
- win7 以太网媒体断开怎么处理_工业以太网协议的历史及其优势
- oracle创建一个学生,oracle 创建学生选课视图
- 在linux下磁盘挂在操作,linux下挂载磁盘操作
- 我的世界java版使用剑_我的世界:JAVA版藏“私货”内置绝世好剑与神功,你玩的版本有吗...
- Ajax的JSP示例以及相关知识介绍,适合于入门者