package com.teamtop.kong.client;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.PopupPanel;
/**
* @author henyue@gmail.com (Kong)
* @version CreatedTime:2010-3-1 上午11:58:17
* @Description 仿QQ登陆右下角弹出窗口示例
*/
public class LoginPopupPanel extends PopupPanel {
private String htmlText = "";
/**
* 构造方法
* @param htmlText 显示在弹出窗口上的HTML内容
*/
public LoginPopupPanel(String htmlText) {
this.htmlText = htmlText;
this.setWidget(new HTML(this.htmlText));
this.setWidth("200");
// this.setAnimationEnabled(true);
}
/**
* 通过此方法调用窗口的渐入和渐隐
*/
public void popup() {
this.show();
final int left = Window.getClientWidth() - this.getOffsetWidth();
// this.setHeight("0");
int top = Window.getClientHeight();
this.setPopupPosition(left, top);
Timer upTimer = getTimer(left, Window.getClientHeight() - this.getOffsetHeight(), false);
upTimer.schedule(500);
Timer hideTimer = getTimer(left, Window.getClientHeight(), true);
hideTimer.schedule(5000);
}
/**
* 通过Timer控制弹出窗口的渐入或渐隐
* @param left 窗体X轴坐标
* @param currentTop 窗体预定Y轴坐标
* @param isHide 是否为渐隐效果
* @return
*/
private Timer getTimer(final int left, final int targetTop, final boolean isHide) {
Timer timer = new Timer() {
@Override
public void run() {
//当前Y轴位置
int currentTop = getAbsoluteTop();
if (isHide ? currentTop < targetTop : currentTop > targetTop) {
//每过40毫秒,弹出窗口位置移动5
currentTop = isHide ? currentTop + 5 : currentTop - 5;
setPopupPosition(left, currentTop);
this.schedule(50);
} else {
//移动超过预定位置时,重置到预定位置
setPopupPosition(left, targetTop);
if (isHide) {
hide();
}
}
}
};
return timer;
}
}
调用:
//添加自动弹出窗口
LoginPopupPanel loginPopup = new LoginPopupPanel("欢迎访问!<br/>这里是测试信息窗口!");
loginPopup.popup();
分享到:
相关推荐
该资源是一个高度仿真的QQ登录窗口程序,包含了源代码,主要功能有三个: 1. **自动显示故障提示并关闭正在运行的QQ**:这个功能意味着程序可以检测到系统中是否已有QQ正在运行,并在需要时自动关闭它。这涉及到...
首先,"winform高仿qq登陆界面"这个标题暗示了我们需要使用Microsoft的Windows Forms(WinForms)技术来构建一个与腾讯QQ登录界面类似的用户界面。WinForms是.NET Framework的一部分,用于开发桌面应用程序,提供了...
在这个仿QQ登录界面中,开发者可能使用了JLabel来创建“用户名”和“密码”的提示文本,使用JTextField和JPasswordField来接收用户的输入,以及使用JButton来定义“登录”操作。 登录验证功能通常涉及到用户输入的...
"易语言高仿QQ登陆模块"是一个专为初学者设计的教学项目,旨在帮助他们了解和掌握编程基础,特别是使用易语言进行界面设计和模拟登录功能的实现。易语言是一种中文编程语言,它以简单易懂的语法著称,使得初学者能够...
打开"Form1.cs"文件,可以看到一个空白的设计窗口。使用工具箱中的控件,如Label、TextBox(用于输入用户名和密码)、Button(登录按钮)等,布局登录界面。确保界面的样式和布局尽可能接近QQ2013的原版设计。可以...
【标题】"仿QQ登陆界面 java.swing"指的是使用Java的Swing库创建的一个模仿QQ登录界面的项目。Swing是Java提供的一种用于构建图形用户界面(GUI)的工具包,它提供了丰富的组件和功能,使得开发者能够方便地设计出...
QQDemo项目是一个使用C++语言在Visual Studio 2008环境下编写的程序,旨在实现一个仿QQ登录界面。这个项目对于学习C++图形用户界面(GUI)编程以及模拟流行应用的设计理念具有一定的实践价值。以下将详细阐述相关...
这个“易语言仿QQ登陆界面皮肤源码”是使用易语言编写的一个示例项目,旨在教用户如何利用易语言来创建类似QQ登录界面的图形用户界面(GUI)和皮肤效果。 在易语言中,开发GUI应用主要依靠内置的窗口程序模块,该...
在本文中,我们将深入探讨如何使用Java编程语言设计一个仿QQ登录界面的程序。QQ作为中国最流行的即时通讯软件之一,其用户界面设计简洁而直观,因此,学习如何仿制其登录界面对于Java开发者来说是一个很好的实践项目...
本案例中,"易语言自绘登陆UI界面 仿QQ界面源码"是一个教学或示例项目,它提供了模仿QQ登录界面的设计代码,帮助学习者理解如何在易语言中创建类似QQ的登录界面。 QQ作为一款流行的即时通讯软件,其用户界面设计...
【Qt案例仿qq登陆界面】 Qt是一个跨平台的C++图形用户界面应用程序开发框架,它允许开发者创建桌面、移动和嵌入式设备上的优美且功能丰富的用户界面。本案例是基于Qt来模仿QQ的登录界面,旨在展示如何利用Qt的强大...
Java仿QQ2016登录界面是一个学习项目,旨在帮助开发者了解如何使用Java语言和图形用户界面(GUI)工具来创建类似腾讯QQ2016的登录界面。这个项目主要涉及以下几个关键知识点: 1. **Java GUI编程**:Java提供了一些...
在本项目中,我们主要探讨的是如何使用Java编程语言来实现一个模仿QQ登录及主界面的应用。QQ作为一款流行的即时通讯软件,其用户界面设计简洁、功能强大,因此,模仿QQ界面可以作为学习和掌握GUI(图形用户界面)...
【标题】"高仿真QQ登陆界面 ---基于MFC"是一个使用Microsoft Foundation Classes (MFC)库开发的项目,旨在创建一个与腾讯QQ登录界面高度相似的用户界面。MFC是微软提供的一套C++类库,它封装了Windows API,使得...
(C#)仿QQ2013局域网通讯源码一份, 初级版参考通讯源码一份 二、实现功能: 1.高仿界面100%,让你分辨不清楚那个才是真的QQ。 2.四边阴影,毛边效果。 3.密码键盘输入,防护更贴心。 4.圆角窗体,润滑如圆。 5.登录...
5.登录主界面后,有登陆提示弹窗。 6.皮肤随心变:拖动任意一张图片至主界面,就可以改变皮肤。 7.皮肤色调获取:改变皮肤的同时,将计算图片色调,再将其运用到窗体背景色。 8.皮肤尾部渐变:如真QQ一般,上下左右...
在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)技术来开发一个仿概念版的QQ登录界面,这是一个超炫的设计,非常适合初学者学习。WPF是.NET Framework 3.5的一部分,它提供了一个强大的...
5.登录主界面后,有登陆提示弹窗。 6.皮肤随心变:拖动任意一张图片至主界面,就可以改变皮肤。 7.皮肤色调获取:改变皮肤的同时,将计算图片色调,再将其运用到窗体背景色。 8.皮肤尾部渐变:如真QQ一般,上下左右...
5.登录主界面后,有登陆提示弹窗。 6.皮肤随心变:拖动任意一张图片至主界面,就可以改变皮肤。 7.皮肤色调获取:改变皮肤的同时,将计算图片色调,再将其运用到窗体背景色。 8.皮肤尾部渐变:如真QQ一般,上下左右...
5.登录主界面后,有登陆提示窗,提示上次登录的城市和时间。 6.皮肤随心变:拖动任意一张图片至主界面,就可以改变皮肤。 7.皮肤色调获取:改变皮肤的同时,将计算图片色调,再将其运用到窗体背景色。 8.皮肤尾部...