`
bcworld
  • 浏览: 39266 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java系统托盘

 
阅读更多

 

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();
	}

}

 

 

 

分享到:
评论

相关推荐

    JAVA系统托盘图标控制程序

    这个"JAVA系统托盘图标控制程序"是一个示例项目,展示了如何在Java中实现这样的功能。 首先,我们要了解`TrayIcon`类,这是Java Swing库中的一个关键组件,用于在系统托盘中创建和管理图标。在`TrayIconDemo.java`...

    java系统托盘 java 系统托盘 系统托盘 java 系统托盘java java任务栏 java 任务栏 任务栏java 任务栏 java 源代码

    下面我们将详细探讨Java系统托盘和任务栏的相关知识点。 首先,创建一个`TrayIcon`对象需要以下步骤: 1. 检查系统是否支持系统托盘:使用`SystemTray`类的静态方法`getSystemTray()`,如果返回`null`,则表示当前...

    java系统托盘,简单的一个测试

    java系统托盘,在jdk1.6里面测试过

    Java系统托盘 Java系统托盘

    在Java编程环境中,系统托盘(System Tray)功能允许应用程序在主窗口最小化后仍然在操作系统任务栏的托盘区域保持存在,以便用户可以轻松访问和控制应用。这对于那些需要后台运行或者不需要频繁显示用户界面的应用...

    java系统托盘的程序库和例子

    java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序库和例子java系统托盘的程序...

    java系统托盘实现缩小在开始菜单右下角的功能

    Java系统托盘是Java应用程序与操作系统桌面环境交互的一种方式,它允许程序在主窗口最小化或隐藏时,仍然可以通过系统托盘图标进行操作。在Windows系统中,这种功能通常表现为程序图标出现在开始菜单右下角的任务栏...

    一个完整系统托盘(java)

    本资源提供了一个完整的Java系统托盘实现的源代码,可以帮助开发者学习如何在Java应用中集成系统托盘功能。 系统托盘在Java中是通过`java.awt.TrayIcon`类来实现的,该类是在Java 6中引入的。以下是对这个知识点的...

    Java如何构建系统托盘图标程序

    总结来说,创建Java系统托盘图标程序涉及使用`TrayIcon`类、创建图标、构建弹出菜单、添加事件监听以及处理系统托盘事件。通过熟练掌握这些步骤,开发者可以让应用程序在后台静默运行,同时保持与用户的交互性,提高...

    java实现系统托盘

    在Java编程环境中,实现系统托盘功能可以让程序在主窗口关闭后仍然在操作系统任务栏的托盘区域保留图标,以便用户随时访问。本主题将详细探讨两种实现方式:JNI(Java Native Interface)和JDK 6.0及更高版本提供的...

    JAVA实现系统托盘

    #### 二、Java系统托盘API介绍 从Java SE 6(即JDK 1.6)开始,官方提供了内置的支持来创建系统托盘图标,这主要通过`java.awt.SystemTray`类实现。`SystemTray`类是用于创建托盘图标的入口类,它提供了一些静态方法...

    Java实现系统托盘

    jar文件双击可以执行,jar里有源代码,可以用解压缩工具查看。 Java实现系统托盘

    java程序实现系统托盘功能

    在Java编程环境中,实现系统托盘功能是一项常见的需求,它允许程序在主窗口最小化或关闭后仍然在操作系统任务栏的系统托盘区域保持活跃,从而提供便捷的访问入口,如QQ、微信等应用程序就广泛使用了这一特性。...

    Java代码生成系统托盘图标

    在Java编程中,系统托盘(System Tray)也被称为通知区域或系统托盘区,它位于操作系统界面的右下角,通常用于显示各种程序的小图标,以便用户在不打开应用程序主窗口的情况下与其交互。Java提供了Java AWT和Swing库...

    java实现了系统托盘的主类

    实现了java的系统托盘等等之类的。要看的可以see see 额

    java毕业设计——java+SQL电子通讯录带系统托盘的设计与实现(论文+源代码).zip

    java毕业设计——java+SQL电子通讯录带系统托盘的设计与实现(论文+源代码).zip java毕业设计——java+SQL电子通讯录带系统托盘的设计与实现(论文+源代码).zip java毕业设计——java+SQL电子通讯录带系统托盘的设计与...

    java实现托盘处理

    在Java编程语言中,"托盘"通常指的是系统托盘,也就是我们常说的任务栏通知区域。这个区域位于操作系统界面的右下角,用于显示各种应用程序的图标,以便用户快速访问或接收通知。实现Java中的系统托盘功能,可以增强...

    jdic 完成托盘 进度条

    标题“jdic 完成托盘 进度条”表明这个示例是关于如何使用JDIC API来创建系统托盘图标以及进度条功能。 系统托盘是操作系统任务栏的一部分,允许应用程序在主窗口最小化或隐藏时,仍然可以通过图标提供交互。JDIC...

    JAVA+SQL数据库电子通讯录带系统托盘

    JAVA+SQL电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘JAVA+SQL数据库电子通讯录带系统托盘...

    Swing 实现系统托盘

    在Java的Swing库中,实现系统托盘功能可以为应用程序提供一个持续的交互界面,即使主窗口已经最小化或关闭。系统托盘,也称为通知区域或系统通知区,通常位于操作系统任务栏的右侧,允许用户快速访问常用的功能或...

Global site tag (gtag.js) - Google Analytics