import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SystemTrayTest extends JFrame implements ActionListener { /** * */ private static final long serialVersionUID = 1L; private Image image;// 托盘图标 private TrayIcon trayIcon; private SystemTray systemTray;// 系统托盘 //Image→TrayIcon→ SystemTray int alertInterval = 0; final String[] in = { "周", "日", "时", "分", "秒" }; final int ONEDAY_MILLISECONDS = 24 * 3600 * 1000; final int[] milliSeconds = { 7 * this.ONEDAY_MILLISECONDS, this.ONEDAY_MILLISECONDS, 3600 * 1000, 60 * 1000, 1000 }; Timer timer; JLabel time; JLabel interval; JTextField msg; JTextField tf; JComboBox cb; JButton button; //构造函数 SystemTrayTest() { systemTray = SystemTray.getSystemTray();// 获得系统托盘的实例 try { image = Toolkit.getDefaultToolkit().getImage(("img\\temp.jpg"));// 定义托盘图标的图片 trayIcon = new TrayIcon(image, "系统托盘"); systemTray.add(trayIcon); } catch (AWTException e2) { e2.printStackTrace(); } trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2)// 双击托盘窗口再现 setExtendedState(Frame.NORMAL);// 状态 setVisible(true); } }); time = new JLabel("请输入提示信息:"); interval = new JLabel("提醒周期:"); msg = new JTextField(12); tf = new JTextField(10); cb = new JComboBox(in); cb.setSelectedIndex(2); button = new JButton("确定"); button.addActionListener(this); this.setTitle("定时提醒器"); this.setBounds(200, 150, 300, 250); this.setVisible(true); this.setLayout(new FlowLayout()); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addWindowListener(new WindowAdapter() { public void windowIconified(WindowEvent e) { dispose();// 窗口最小化时dispose该窗口 } }); this.add(time); this.add(msg); this.add(interval); this.add(tf); this.add(cb); this.add(button); tf.requestFocus(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == button) { if (!tf.getText().equals("")) { int idx = cb.getSelectedIndex(); this.alertInterval = Integer.parseInt(tf.getText()) * this.milliSeconds[idx]; if (timer == null) { timer = new Timer(this.alertInterval, this); } else { timer.setDelay(this.alertInterval); } timer.start(); } } else if (e.getSource() == timer) { JOptionPane.showMessageDialog(this, msg.getText(), "叮呤呤!", JOptionPane.DEFAULT_OPTION); } } public static void main(String[] args) { new SystemTrayTest(); } }
发表评论
-
CSDN表情批量下载
2014-07-24 16:55 675CSDN评论时有很多有趣的表情,可以通过程序将这些表 ... -
南京地铁票价查询
2014-07-16 16:27 1004查看南京地铁各个站点间的距离 import java.io ... -
在指定路径下搜索含指定关键词的所有文件
2012-10-28 08:58 1116这个功能类似notepad++的文件搜索功能,如全词匹配“in ... -
多线程实例
2012-07-20 22:08 771public class Class1 { publ ... -
读配置文件,传参数,打印message
2012-06-21 19:43 1066为了将来维护,message内容可能需要更改 ... -
java 线程 模拟卖票
2012-05-27 13:35 1015package thread; import jav ... -
java URLConnection
2012-05-27 13:36 1248package net; import java.ne ... -
java JFileChooser
2012-05-26 21:06 1074import java.io.*; import ... -
java Vector
2012-05-26 20:40 802import java.util.Vector; im ... -
java applet GUI 2D
2012-05-26 20:09 1069package applet; import java.aw ... -
java AdjustmentListener,Scrollbar的使用
2012-05-26 20:03 1045package gui.event; import j ... -
java TextListener的使用
2012-05-26 19:57 1519package gui.event; import ... -
多线程模拟测试网站并发性
2012-05-25 21:11 2918网站开发完了后,需要测试网站能支持多少用户并发访问,下面的j ... -
java 字节流使用
2012-05-21 14:04 1107package advance.test; import ... -
java通过apache的POI写EXCEL
2012-04-22 22:05 1977Apache POI是Apache 软件 基金会的开放 ... -
java全屏
2012-04-22 14:54 1092下面的代码演示了如何让JFrame全屏显示: impo ... -
JDBC-ODBC桥连接方式连接MS ACCESS,配置数据源
2012-04-22 13:59 1414下面是通过jdbc-odbc连接ms access数据库的一种 ... -
java获取系统相关信息
2012-01-12 22:12 1617下面的代码可以获取系统的环境变量,操作系统、处理器、编码和语言 ...
相关推荐
这个"JAVA系统托盘图标控制程序"是一个示例项目,展示了如何在Java中实现这样的功能。 首先,我们要了解`TrayIcon`类,这是Java Swing库中的一个关键组件,用于在系统托盘中创建和管理图标。在`TrayIconDemo.java`...
下面我们将详细探讨Java系统托盘和任务栏的相关知识点。 首先,创建一个`TrayIcon`对象需要以下步骤: 1. 检查系统是否支持系统托盘:使用`SystemTray`类的静态方法`getSystemTray()`,如果返回`null`,则表示当前...
java系统托盘,在jdk1.6里面测试过
在Java编程环境中,系统托盘(System Tray)功能允许应用程序在主窗口最小化后仍然在操作系统任务栏的托盘区域保持存在,以便用户可以轻松访问和控制应用。这对于那些需要后台运行或者不需要频繁显示用户界面的应用...
java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序...
Java系统托盘是Java应用程序与操作系统桌面环境交互的一种方式,它允许程序在主窗口最小化或隐藏时,仍然可以通过系统托盘图标进行操作。在Windows系统中,这种功能通常表现为程序图标出现在开始菜单右下角的任务栏...
本资源提供了一个完整的Java系统托盘实现的源代码,可以帮助开发者学习如何在Java应用中集成系统托盘功能。 系统托盘在Java中是通过`java.awt.TrayIcon`类来实现的,该类是在Java 6中引入的。以下是对这个知识点的...
总结来说,创建Java系统托盘图标程序涉及使用`TrayIcon`类、创建图标、构建弹出菜单、添加事件监听以及处理系统托盘事件。通过熟练掌握这些步骤,开发者可以让应用程序在后台静默运行,同时保持与用户的交互性,提高...
在Java编程环境中,实现系统托盘功能可以让程序在主窗口关闭后仍然在操作系统任务栏的托盘区域保留图标,以便用户随时访问。本主题将详细探讨两种实现方式:JNI(Java Native Interface)和JDK 6.0及更高版本提供的...
#### 二、Java系统托盘API介绍 从Java SE 6(即JDK 1.6)开始,官方提供了内置的支持来创建系统托盘图标,这主要通过`java.awt.SystemTray`类实现。`SystemTray`类是用于创建托盘图标的入口类,它提供了一些静态方法...
jar文件双击可以执行,jar里有源代码,可以用解压缩工具查看。 Java实现系统托盘
在Java编程环境中,实现系统托盘功能是一项常见的需求,它允许程序在主窗口最小化或关闭后仍然在操作系统任务栏的系统托盘区域保持活跃,从而提供便捷的访问入口,如QQ、微信等应用程序就广泛使用了这一特性。...
在Java编程中,系统托盘(System Tray)也被称为通知区域或系统托盘区,它位于操作系统界面的右下角,通常用于显示各种程序的小图标,以便用户在不打开应用程序主窗口的情况下与其交互。Java提供了Java AWT和Swing库...
实现了java的系统托盘等等之类的。要看的可以see see 额
java毕业设计——java+SQL电子通讯录带系统托盘的设计与实现(论文+源代码).zip java毕业设计——java+SQL电子通讯录带系统托盘的设计与实现(论文+源代码).zip java毕业设计——java+SQL电子通讯录带系统托盘的设计与...
在Java编程语言中,"托盘"通常指的是系统托盘,也就是我们常说的任务栏通知区域。这个区域位于操作系统界面的右下角,用于显示各种应用程序的图标,以便用户快速访问或接收通知。实现Java中的系统托盘功能,可以增强...
标题“jdic 完成托盘 进度条”表明这个示例是关于如何使用JDIC API来创建系统托盘图标以及进度条功能。 系统托盘是操作系统任务栏的一部分,允许应用程序在主窗口最小化或隐藏时,仍然可以通过图标提供交互。JDIC...
JAVA+SQL电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘...
在Java的Swing库中,实现系统托盘功能可以为应用程序提供一个持续的交互界面,即使主窗口已经最小化或关闭。系统托盘,也称为通知区域或系统通知区,通常位于操作系统任务栏的右侧,允许用户快速访问常用的功能或...