显示时可以达到逐渐清晰直至完全显示,消失时逐渐变淡最终消失!使用到了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
分享到:
相关推荐
在Java编程环境中,实现桌面右下角弹窗的效果可以用于创建类似QQ消息提示的功能,给用户提供即时信息反馈。本文将详细讲解如何通过Java实现这一功能,并着重解析`main.java`和`InfoUtil.java`这两个文件中的关键知识...
本教程将深入讲解如何使用Java Swing来实现桌面右下角的弹窗效果,以及如何让Swing窗体闪烁,以吸引用户的注意力。 首先,Java Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了更现代、更美观的GUI组件...
"java实现桌面右下角弹窗效果" 本文主要介绍了如何使用Java实现桌面右下角弹窗效果,类似于QQ消息弹窗。该弹窗效果可以应用于各种桌面应用程序中,提供给用户重要信息或提示。 首先,需要了解Java中的Swing库,它...
这个特定的项目是基于JAVA实现的屏幕共享程序,它提供了在局域网内进行屏幕共享的功能。以下是对该程序及其相关技术的详细解释: 首先,让我们关注核心编程语言——JAVA。JAVA是一种广泛使用的面向对象的编程语言,...
用java写了个录视频的小程序, 录制后文件默认保存在系统临时目录, 录制视频和麦克风声音, 播放时回车键进入全屏, esc退出全屏, 希望能对有兴趣的朋友提供参考 已重写新版原生java生成FLV格式视频文件 请看...
总结来说,通过Java Socket实现屏幕网络监控需要掌握以下知识点: 1. Java Socket编程基础:包括ServerSocket和Socket的使用,以及连接建立和断开。 2. 图像处理:如何捕获屏幕、编码和解码图像,以及选择合适的...
总结来说,Android中的渐隐渐显动画可以通过视图动画和属性动画来实现。视图动画适用于API级别较低的设备,而属性动画则提供了更丰富的功能和控制。根据项目的具体需求和目标设备的兼容性,可以选择合适的方法来实现...
java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 ...
java实现屏幕照相,本程序体积极小,包括import语句,在内,包括空行都只有23行代码,如果你想用java写屏幕录像照相,远程监控等等程序,这将是很好的入门。
本项目“java远程屏幕共享程序(局域网)”就是这样一个实现,它采用Java编程语言,提供了客户端(Client.jar)和服务器端(Server.jar)两个组成部分,适合于局域网内的设备间进行屏幕共享。以下将详细解析这个项目...
Badgeview是一种在Android开发中常用来在应用图标或者视图元素右上角显示小红点或数字提示的小部件,用于指示未读消息、更新或其他重要通知的数量。在本例中,我们将探讨如何通过直接使用Badgeview类来实现这种功能...
JAVA应聘考题:圆球来回跑动 编写简单屏幕保护程序, 将一个彩色球沿屏幕对角线在左上角和右下角之间循环移动。
Java 实现对接LED屏是一项技术任务,涉及到Java编程语言与硬件设备的交互,特别是与LED显示设备的通信。LED屏通常用于广告展示、信息传递等场合,而通过编程语言控制LED屏可以实现动态内容的展示和自定义效果。 ...
java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ...
通过组合这两个类,可以实现屏幕监控和机器人操作。 二、Java实现人工智能化屏幕监控窗口的实现步骤 1. 创建一个JFrame窗口,用于显示屏幕监控的结果。 2. 使用Toolkit类获取屏幕的大小,并创建一个矩形区域,用于...
在Android开发中,图片从左上角移动到右下角是一种常见的动画效果,常用于界面交互或者游戏场景中。要实现这一效果,开发者通常会利用Android的动画框架,包括属性动画(Property Animation)系统或者视图动画(View...
### JAVA实现屏幕抓图与远程桌面控制 #### 一、Java屏幕抓图技术解析 在Java中,要实现屏幕抓图的功能,主要依赖于`java.awt.Robot`类。该类提供了一系列方法来模拟键盘和鼠标操作,并允许开发人员捕获整个屏幕或...
【Java实现课程表】是一个基于Java编程语言设计的特定于某个学校的教务系统课程表程序。这个程序的主要目的是为了展示如何使用Java技术来构建一个能够显示、管理个人课程的工具。由于不同学校的教务系统差异,这个...
本项目提供了一些推荐算法的Java实现,包括slopeone、SVD(奇异值分解)以及基于物品邻接的SVD(ItemNeighborSVD)。下面我们将详细探讨这些算法及其在Java中的实现。 1. **slopeone**: - Slope One是一种简单的...
在Java编程领域,实现"Java网络屏幕监控(把客户端屏幕截图实时发送到主机端)"是一项技术挑战,涉及到网络通信、图像处理以及文件传输等多个知识点。在这个项目中,`WnetWScreenRecorder.java`作为客户端负责捕获并...