在jdk1.6里,swing方面的改动非常大,其中有个改动就是加入了java自己的托盘实现,终于不用去引用第三方的jar来做了。一个简单的demo:
public class TrayIconTest extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private TrayIcon ti;
public static void main(String[] args) {
TrayIconTest frame = new TrayIconTest();
frame.setTitle("TrayIconTest");
frame.setVisible(true);
frame.setSize(200, 65);
frame.setLocation(300, 200);
}
public TrayIconTest() {
setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (SystemTray.isSupported()) {
setVisible(false);
minimizeToTray();
} else {
System.exit(0);
}
}
});
JPanel root = new JPanel();
JButton exitButton = new JButton("Exit");
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
root.add(exitButton);
getContentPane().add(root);
pack();
initTi();
}
private void initTi() {
URL url = this.getClass().getResource("/logo.gif");
Image image = Toolkit.getDefaultToolkit().getImage(url);
PopupMenu popupTi = new PopupMenu();
MenuItem showItem = new MenuItem("Show");
ActionListener showListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(true);
SystemTray.getSystemTray().remove(ti);
}
};
showItem.addActionListener(showListener);
popupTi.add(showItem);
ti = new TrayIcon(image, "TrayIcon", popupTi);
ti.addActionListener(showListener);
}
public void minimizeToTray() {
SystemTray tray = SystemTray.getSystemTray();
try {
tray.add(ti);
} catch (AWTException e) {
e.printStackTrace();
}
}
}
有了这个,可以把trayicon这个东西给拿掉了,对第三方包的引用又能减少一个了。
分享到:
相关推荐
在Java的Swing库中,实现系统托盘功能可以为应用程序提供一个持续的交互界面,即使主窗口已经最小化或关闭。系统托盘,也称为通知区域或系统通知区,通常位于操作系统任务栏的右侧,允许用户快速访问常用的功能或...
本篇文章将深入探讨如何利用Swing实现系统托盘示例,结合提供的`TrayTest.java`源码以及`computer_delete.png`和`computer.png`这两张图标资源。 首先,`TrayTest.java`是实现系统托盘功能的主要代码文件。在Java中...
以上就是使用Java Swing实现系统托盘的基本步骤。通过这种方式,你可以为你的Java应用提供更加友好的用户交互体验,使得即使在最小化状态下也能方便地管理和控制应用。在实际项目中,你可能还需要根据具体需求添加更...
在Java编程中,实现系统托盘功能主要涉及到`java.awt.TrayIcon`类,这是Java Swing库的一部分,用于在操作系统的任务栏或系统托盘区域创建和管理图标。这个功能通常用于提供一种方式,使得即使主窗口被最小化或者...
首先,要实现系统托盘功能,我们需要导入Java Swing库中的`javax.swing.*`和`java.awt.*`包,这两个包提供了必要的组件和工具。`javax.swing.TrayIcon`是实现系统托盘功能的核心类,而`java.awt.SystemTray`则代表了...
### JAVA实现系统托盘知识点详解 #### 一、概述 在现代软件开发中,系统托盘功能被广泛应用于各类应用程序中,特别是在Windows操作系统上。它为用户提供了方便的应用程序控制方式,同时也帮助开发者以更优雅的方式...
应用程序通过在系统托盘中放置图标,可以实现以下功能: 1. **最小化到系统托盘**:当用户点击程序的最小化按钮时,程序并不关闭,而是隐藏其主窗口,只在系统托盘显示图标。这样,用户可以在任何时候通过点击托盘...
这个"JAVA系统托盘图标控制程序"是一个示例项目,展示了如何在Java中实现这样的功能。 首先,我们要了解`TrayIcon`类,这是Java Swing库中的一个关键组件,用于在系统托盘中创建和管理图标。在`TrayIconDemo.java`...
要实现这个功能,你需要使用Java的`java.awt.TrayIcon`类,这是Java Swing库的一部分,它提供了将图标添加到系统托盘的能力。以下是一个简单的步骤和知识点概述: 1. **检查系统支持**: 在使用`TrayIcon`之前,你...
5. **系统托盘**:在Swing中,JSystemTray类允许程序在任务栏的系统托盘区域显示图标和菜单,这是QQ2009的一个关键功能,用户可以在此处快速打开或关闭QQ,接收通知等。开发者需要利用JSystemTray和 TrayIcon 类来...
在Windows API中,实现系统托盘图标主要通过`Shell_NotifyIcon`函数。这个函数允许程序向通知区域添加、更新或删除图标,并处理与图标相关的用户事件。要使用这个函数,开发者需要创建一个`NOTIFYICONDATA`结构,...
总结来说,圣诞倒计时小软件是一个结合了Java Swing组件和高级特性的实用小应用,展示了如何使用Java实现桌面应用的各种功能,如窗体操作、系统托盘交互、自定义UI设计等。通过研究这个程序的源代码,开发者可以学习...
Java提供了Java AWT和Swing库来实现这个功能,允许开发者创建在系统托盘中显示的应用程序图标,以及与之相关的菜单和事件处理。下面将详细讲解如何使用Java代码生成系统托盘图标。 首先,你需要导入必要的Java库: ...
本项目“java实现360悬浮球”利用Swing创建了一个可以在屏幕任意位置移动并具有360度旋转效果的悬浮窗口,同时还实现了加入系统托盘和退出功能。下面我们将详细探讨这个项目涉及的关键知识点。 1. **Java Swing**: ...
在Java中,任务栏菜单主要与系统托盘(System Tray)相关,这在AWT中称为`java.awt.TrayIcon`,而在Swing中则通过`javax.swing.JTrayIcon`实现。`TrayIcon`允许我们在系统任务栏上显示图标,并提供一个下拉菜单,...
### JavaQQ实现托盘功能详解 ...总之,Java提供的`SystemTray`API为桌面应用程序提供了强大的系统集成能力,通过本文的讲解和示例代码分析,相信读者已经掌握了在Java中实现系统托盘功能的核心技术和实践步骤。
在Java中,系统托盘功能是通过`java.awt.TrayIcon`类提供的,该类是Java Swing库的一部分。要使用系统托盘,你需要确保操作系统支持并且Java虚拟机启用了系统托盘。你可以通过`java.awt.SystemTray`类的静态方法`is...
在Java编程环境中,实现窗口应用最小化到系统托盘是一项常见的功能,特别是在开发桌面应用程序时。这个功能使得用户可以将程序窗口隐藏到任务栏的托盘区域,而不是将其关闭或最小化到任务栏,从而方便用户快速访问。...
以下是一个详细的步骤来解释如何使用Java实现系统托盘功能: 1. **检查系统支持**: 在Java中,`SystemTray`类是用于处理系统托盘功能的。首先,我们需要检查当前操作系统是否支持系统托盘。这可以通过调用`...