`
songhaikang
  • 浏览: 33546 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java实现屏幕右下角出现渐隐渐显的提示框

阅读更多
显示时可以达到逐渐清晰直至完全显示,消失时逐渐变淡最终消失!使用到了JDK1.6中新特性的透明窗体,所以必须要使用JDK1.6或以上版本的JDK
效果如下:




代码如下:

import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;

import com.sun.awt.AWTUtilities;

/**
* 屏幕右下角出现渐隐渐显的提示框
* 使用到了JDK1.6中新特性的透明窗体,所以必须要使用JDK1.6或以上版本的JDK
* 案例性质:原创案例
* 案例来源:http://www.blackswansoft.com
* 作者:宋海康
*
* 功能如下:
* 1.窗体出现时逐渐清晰
* 2.停留一会儿时间之后会自动逐渐模糊直至消失
* 3.点击关闭按钮后逐渐模糊直至消失
* 4.提示内容支持html标签
* @author shk
*
*/
public class TranslucentFrame implements Runnable{

JFrame frame;
JLabel label1;
JEditorPane editorPane1;

private int width;//窗体宽度
private int height;//窗体高度
private int stayTime;//休眠时间
private String title,message;//消息标题,内容
private int style;//窗体样式

/**
* 渐隐渐显的提示框
*
* @param width 提示框宽度
* @param height 提示框高度
* @param stayTime 提示框停留时间
* @param style 提示框的样式
* 以下为样式可选值:
* 0 NONE                  无装饰(即去掉标题栏)
* 1 FRAME                 普通窗口风格
* 2 PLAIN_DIALOG          简单对话框风格
* 3 INFORMATION_DIALOG    信息对话框风格
* 4 ERROR_DIALOG          错误对话框风格
* 5 COLOR_CHOOSER_DIALOG  拾色器对话框风格
* 6 FILE_CHOOSER_DIALOG   文件选择对话框风格
* 7 QUESTION_DIALOG       问题对话框风格
* 8 WARNING_DIALOG        警告对话框风格
* @param title 提示框标题
* @param message 提示框内容(支持html标签)
*/
public TranslucentFrame(int width,int height,int stayTime,int style,String title,String message){
this.width=width;
this.height=height;
this.stayTime=stayTime;
this.style=style;
this.title=title;
this.message=message;
}

/**
* 渐隐渐显的提示框
*
* @param style 提示框样式同上
* @param title 提示框标题
* @param message 提示框内容
*/
public TranslucentFrame(int style,String title,String message){
this.width=250;
this.height=180;
this.stayTime=5;
this.style=style;
this.title=title;
this.message=message;
}

public static void main(String[] args) {
String title="友情提示!";
String message="<strong>JDK1.6新特性测试</strong><br>《透明窗体》<br>http://www.blackswansoft.com<br>作者:宋海康";
// Runnable translucent=new TranslucentFrame(250,180,10,4,title,message);
Runnable translucent=new TranslucentFrame(2,title,message);
Thread thread=new Thread(translucent);
thread.start();
}

public void print(){
frame=new JFrame();
editorPane1=new JEditorPane();
editorPane1.setEditable(false);//不可编辑
editorPane1.setContentType("text/html");//将编辑框设置为支持html的编辑格式
editorPane1.setText(message);
frame.add(editorPane1);

frame.setTitle(title);
//设置窗体的位置及大小
int x=Toolkit.getDefaultToolkit().getScreenSize().width-Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration()).right-width-5;
int y=Toolkit.getDefaultToolkit().getScreenSize().height-Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration()).bottom-height-5;
frame.setBounds(x, y, width, height);
frame.setUndecorated(true); // 去掉窗口的装饰
frame.getRootPane().setWindowDecorationStyle(style ); //窗体样式
// frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG ); //窗体样式
AWTUtilities.setWindowOpacity(frame, 0.01f);//初始化透明度
frame.setVisible(true);
frame.setAlwaysOnTop(true);//窗体置顶
//添加关闭窗口的监听
frame.addWindowListener(new WindowAdapter() { 
public void windowClosing(WindowEvent e) { 
hide();

});  
}

/**
* 窗体逐渐变清晰
*
*/
public void show(){
for (int i = 0; i < 50; i++) {
try {
Thread.sleep(50);
} catch (Exception e) {}
AWTUtilities.setWindowOpacity(frame, i*0.02f);
}
}

/**
* 窗体逐渐变淡直至消失
*
*/
public void hide(){
float opacity=100;
while(true){
if(opacity<2){
System.out.println();
break;
}
opacity=opacity-2;
AWTUtilities.setWindowOpacity(frame, opacity/100);
try {
Thread.sleep(20);
} catch (Exception e1) {}
}
// frame.hide();
System.exit(0);
}


public void run(){
print();
show();
try {
Thread.sleep(stayTime*1000);
} catch (Exception e) {}
hide();
}
}


推荐软件

用java开发的一款功能强大的开源的远程控制软件,最近又升级了,添加了许多使用的功能,而且代码也有了很大程度的优化。可以实现生成服务器、修改上线主机名称、屏幕监视,屏幕控制、主动连接、上传文件、下载文件、 远程命令、远程任务管理器、发送警告、相互聊天、换皮肤、版本升级提醒等功能,通过该软件可以实现用一台电脑同时控制多台电脑,也可以多台电脑控制同一台电脑等。
软件官方网站下载地址:http://dl.iteye.com/topics/download/c1b7acd2-c7ad-3753-8929-48424025d711

软件如下图所示:



  • 大小: 9.5 KB
  • 大小: 11.8 KB
2
3
分享到:
评论

相关推荐

    Java实现桌面右下角弹窗,实现JavaSwing窗体闪烁

    本教程将深入讲解如何使用Java Swing来实现桌面右下角的弹窗效果,以及如何让Swing窗体闪烁,以吸引用户的注意力。 首先,Java Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了更现代、更美观的GUI组件...

    java实现桌面右下角弹窗效果

    "java实现桌面右下角弹窗效果" 本文主要介绍了如何使用Java实现桌面右下角弹窗效果,类似于QQ消息弹窗。该弹窗效果可以应用于各种桌面应用程序中,提供给用户重要信息或提示。 首先,需要了解Java中的Swing库,它...

    在屏幕右下角弹出广告

    标题中的“在屏幕右下角弹出广告”指的是在用户浏览网页时,广告会在计算机屏幕的右下角突然出现的一种广告展示方式。这种方式通常利用JavaScript或者其他前端技术来实现,以吸引用户的注意力。广告可能以弹窗、浮动...

    java实现鼠标点击屏幕

    通过java实现鼠标移动以及点击屏幕的代码,通过简单的java代码简单实现这两个功能。通过java实现鼠标移动以及点击屏幕的代码,通过简单的java代码简单实现这两个功能。

    JAVA实现的屏幕共享程序

    这个特定的项目是基于JAVA实现的屏幕共享程序,它提供了在局域网内进行屏幕共享的功能。以下是对该程序及其相关技术的详细解释: 首先,让我们关注核心编程语言——JAVA。JAVA是一种广泛使用的面向对象的编程语言,...

    java实现屏幕录制和播放(包含录音)

    用java写了个录视频的小程序, 录制后文件默认保存在系统临时目录, 录制视频和麦克风声音, 播放时回车键进入全屏, esc退出全屏, 希望能对有兴趣的朋友提供参考 已重写新版原生java生成FLV格式视频文件 请看...

    通过java socket实现屏幕网络监控

    总结来说,通过Java Socket实现屏幕网络监控需要掌握以下知识点: 1. Java Socket编程基础:包括ServerSocket和Socket的使用,以及连接建立和断开。 2. 图像处理:如何捕获屏幕、编码和解码图像,以及选择合适的...

    仿QQ右下角消息框代码

    在本项目中,开发者可能使用C#来创建用户界面、处理事件、实现消息提示框的逻辑功能。 2. **Windows Forms**: Windows Forms是.NET Framework中的一个库,用于创建桌面应用程序。在这里,开发者可能使用Windows ...

    java 屏幕保护程序

    在Java中实现屏幕保护程序主要涉及到AWT和Swing库,这两个库提供了丰富的图形用户界面组件和事件处理机制。 首先,我们来了解一下Java中的图形环境初始化。在Java中,AWT(Abstract Window Toolkit)是最早的图形...

    分享一个右下角弹窗的完整例子(完整代码)

    在IT行业中,用户界面设计是至关重要的,而右下角弹窗是一种常见且有效的提示或通知方式。这个分享提供了一个完整的右下角弹窗实现,包括JavaScript封装代码以及相关的CSS样式,适合在JavaWeb环境中使用,同时也可以...

    JAVA实现局域网桌面共享

    JAVA提供了java.awt.Robot类用于截取屏幕,java.awt.image.BufferedImage用于存储和处理图像,而java.io包下的类则用于数据的序列化和传输。 4. **数据传输协议**:为了高效地传输大量图像数据,可能需要设计自定义...

    java 实现屏幕截图

    java的robot类实现屏幕截图,java的robot类实现屏幕截图。

    屏幕截图工具 Java 实现

    说明:程序由Java语言实现,功能包括全屏截图、自定义截图,在自定义状态下:在选区中 右键 -&gt; 取消选区 在选区中 双击 -&gt; 保存选区 在选区外 右键 -&gt; 清除图像 程序中窗口截图部分暂时没有实现。 本程序是学习之...

    右下角弹出框

    - **非侵入性**:右下角弹出框通常出现在屏幕的角落,这样既能吸引用户的注意力,又不会完全遮挡或打断他们的工作流程。 - **明确性**:内容应简洁明了,快速传达信息,让用户一目了然。 - **可操作性**:提供...

    Java网络屏幕监控(把客户端屏幕截图实时发送到主机端)

    在Java编程领域,实现"Java网络屏幕监控(把客户端屏幕截图实时发送到主机端)"是一项技术挑战,涉及到网络通信、图像处理以及文件传输等多个知识点。在这个项目中,`WnetWScreenRecorder.java`作为客户端负责捕获并...

    java实现对接LED屏

    Java 实现对接LED屏是一项技术任务,涉及到Java编程语言与硬件设备的交互,特别是与LED显示设备的通信。LED屏通常用于广告展示、信息传递等场合,而通过编程语言控制LED屏可以实现动态内容的展示和自定义效果。 ...

    java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip

    java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ...

    java实现人工智能化屏幕监控窗口

    通过组合这两个类,可以实现屏幕监控和机器人操作。 二、Java实现人工智能化屏幕监控窗口的实现步骤 1. 创建一个JFrame窗口,用于显示屏幕监控的结果。 2. 使用Toolkit类获取屏幕的大小,并创建一个矩形区域,用于...

    java实现录制屏幕

    实现录音录屏幕

    android 图片从左上角移动到右下角

    在Android开发中,图片从左上角移动到右下角是一种常见的动画效果,常用于界面交互或者游戏场景中。要实现这一效果,开发者通常会利用Android的动画框架,包括属性动画(Property Animation)系统或者视图动画(View...

Global site tag (gtag.js) - Google Analytics