引用包:

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消息提示框相关推荐

  1. java仿qq思路_java仿QQ聊天软件OIM艰辛之路(开源项目)

    既然QQ能仿ICQ, 咱java也来个仿QQ. 在我刚学完java后,就想做点什么项目锻炼下自己的技能.凑巧的是,我一个同样学java的朋友在做一个仿qq的项目,不过他做的实在太丑了. 然后他想让我也 ...

  2. java如何开发游戏大厅_java仿qq游戏大厅的设计与实现

    摘要:由于生活节奏的越来越快,人们越来越少的外出游玩.现在的人们为了生活,为了工作,为了家庭无时无刻不在紧张的环境中度过.而一些简单的小游戏则成为了人们放松的主要方式,本文用java语言开发了客户端/ ...

  3. java qq 源代码_Java 仿QQ聊天源代码

    Java 仿QQ聊天源代码介绍,本源码实现了群聊和私聊. 截图如下: 代码文件清单如下: Client.java.ClientThread.java.Server.java.ServerThread. ...

  4. java版本qq登陆界面_java实现QQ登陆界面

    以下是效果截图: 素材: 以下是源代码: import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.Mous ...

  5. java+登录window域认证网页_Java 实现 QQ 登陆

    1. 前言 2. 后台设计 2.1. 数据库设计 2.2. 鉴权流程 3. QQ登陆 3.1. 实名认证 3.2. 创建应用 3.3. 引导用户登录 3.4. 拿到accessToken 3.5. 获 ...

  6. 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. ...

  7. android qq 圆形头像,Android仿QQ圆形头像个性名片

    先看看效果图: 中间的圆形头像和光环波形讲解请看:https://www.jb51.net/article/96508.htm 周围的气泡布局,因为布局RatioLayout是继承自ViewGroup ...

  8. android写qq动态界面,Android_Android仿QQ空间主页面的实现,今天模仿安卓QQ空间,效果如 - phpStudy...

    Android仿QQ空间主页面的实现 今天模仿安卓QQ空间,效果如下: 打开程序的启动画面和导航页面我就不做了,大家可以模仿微信的那个做一下,很简单.这次主要做一下主页面的实现,下面是主页面的布局: ...

  9. android qq分组展开,Android仿qq分组管理的第三方库

    本文实例为大家分享了Android仿qq分组管理的第三方库,供大家参考,具体内容如下 下面先看效果 我们点击展开与折叠分组的功能在库里面是已经封装好的,只能把它已入到项目中,就可以直接用了,十分的方便 ...

最新文章

  1. 公司电脑安装操作系统遇到的一个坑
  2. 真我与小我隔着什么?
  3. javascript菜鸟学习20170113
  4. 基于存储过程的可扩展性数据访问框架
  5. QMetaMethod 获取成员函数的元信息
  6. mongodb清洗数据
  7. python 小说 云_小说python操作PLC
  8. mongodb和SQL语句对应查找表
  9. 本周 火火火火火 的开源项目
  10. 其他测试用例设计方法-错误推测法与正交实验法
  11. iOS 提交app到iTunes Connect预览截图截取方法及尺寸大小
  12. AdapterView 及其子类
  13. 黑马程序员-java学习第一天
  14. 修改网站背景图html代码,网站首页顶部添加背景图片的修改代码
  15. python计算天数包含几周_如何在python中计算几周内两个日期之间的差异
  16. 排序模型(learning to rank)发展史(偏推荐系统
  17. AD操作整理(部分)
  18. 高校逐梦元宇宙,是风口还是噱头?
  19. c++基础知识点(6)类的继承,构造,析构顺序,虚继承等
  20. 菜鸟后端程序员花了两天半模仿写出了赶集网主页,速来围观!

热门文章

  1. CSS样式引入方式和部分CSS样式的设置
  2. python with关键字_完全理解Python关键字with与上下文管理器
  3. 联想笔记本暗屏几乎看不见_2020年内存条推荐-选购指南(DDR3/DDR4/台式/笔记本内存)...
  4. python 枚举类型_Python枚举类
  5. vim python 代码提示_linux下vim python代码自动补全
  6. win7 以太网媒体断开怎么处理_工业以太网协议的历史及其优势
  7. oracle创建一个学生,oracle 创建学生选课视图
  8. 在linux下磁盘挂在操作,linux下挂载磁盘操作
  9. 我的世界java版使用剑_我的世界:JAVA版藏“私货”内置绝世好剑与神功,你玩的版本有吗...
  10. Ajax的JSP示例以及相关知识介绍,适合于入门者