package black.dragon.starttool;
import java.awt.AWTException;
import java.awt.Desktop;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
/**
* @author whuang
*
* @version 1.0, 2008-5-20 create
*/
public class DesktopTrayRun {
private static Desktop desktop;
private static SystemTray st;
private static PopupMenu pm;
public static void main(String[] args) {
if (Desktop.isDesktopSupported()) {// 判断当前平台是否支持Desktop类
desktop = Desktop.getDesktop();
}
if (SystemTray.isSupported()) {// 判断当前平台是否支持系统托盘
st = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("testdata/black_dragon1.png");// 定义托盘图标的图片
createPopupMenu();
TrayIcon ti = new TrayIcon(image, "Desktop Demo Tray", pm);
try {
st.add(ti);
} catch (AWTException ex) {
ex.printStackTrace();
}
}
}
public static void sendMail(String mail) {
if (desktop != null && desktop.isSupported(Desktop.Action.MAIL)) {
try {
desktop.mail(new URI(mail));
} catch (IOException ex) {
ex.printStackTrace();
} catch (URISyntaxException ex) {
ex.printStackTrace();
}
}
}
public static void openBrowser(String url) {
if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
try {
desktop.browse(new URI(url));
} catch (IOException ex) {
ex.printStackTrace();
} catch (URISyntaxException ex) {
ex.printStackTrace();
}
}
}
public static void edit() {
if (desktop != null && desktop.isSupported(Desktop.Action.EDIT)) {
try {
File txtFile = new File("test.txt");
if (!txtFile.exists()) {
txtFile.createNewFile();
}
desktop.edit(txtFile);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
public static void createPopupMenu() {
pm = new PopupMenu();
MenuItem openBrowser = new MenuItem("Open My Blog");
openBrowser.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
openBrowser("http://blog.youkuaiyun.com/chinajash");
}
});
MenuItem sendMail = new MenuItem("Send Mail to me");
sendMail.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sendMail("mailto:chinajash@yahoo.com.cn");
}
});
MenuItem edit = new MenuItem("Edit Text File");
sendMail.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
edit();
}
});
MenuItem exitMenu = new MenuItem("&Exit");
exitMenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
pm.add(openBrowser);
pm.add(sendMail);
pm.add(edit);
pm.addSeparator();
pm.add(exitMenu);
}
}
相关推荐
使用CLion在Window端进行linux开发
以往不管是开发x86端linux程序还是arm端linux程序,都是使用Source Insight作为源码编辑工具的,如下图 去年底,发现CLion的2018.3更新版本,可以支持remote host开发了,大爱! 我是基于以下几点原因,将开发工具换成CLion 1. 语法高亮较明显、跳转、重构方便(我很看重这个); 2. 可以使用图形界面进行调...
java 最小化_Java桌面软件最小化的系统托盘(SystemTray)
Java编写的Swing或AWT桌面软件如何在关闭或者最小化时可以像QQ一样退出到系统托盘(SystemTray)。这里主要用到的类是java.awt.SystemTray和java.awt.TrayIcon。SystemTray表示系统托盘,通过这个类就可以获取操作系统的系统托盘对象。TrayIcon表示系统托盘的图标。在操作系统托盘前首先需要将系统托盘的图标设置好。1 设置托盘图标(TrayI...
Unity新手必看:5分钟搞定TextMeshPro中文乱码,告别小方块(附7000+常用字库)
本文详细介绍了Unity中TextMeshPro中文乱码问题的解决方案,包括快速生成中文字体的步骤和优化技巧。通过使用支持中文的.ttf字体文件和自定义字符集,开发者可以在5分钟内解决TMP显示小方块的问题,提升游戏或应用的文本显示效果。
java 系统托盘图标_Java SystemTray类(系统托盘)和TrayIcon类(托盘图标)
利用SystemTray类可以访问系统托盘,每个Java应用程序在运行时都会被分配一个该类的实例,可以通过该类的静态方法getSystemTray()获得。某些系统可能不支持系统托盘功能,此时可以通过静态方法isSupported()判断当前系统是否支持该功能,如果支持则返回true,否则返回false。通过方法add(TrayIcon trayIcon)可以为当前应用程序添加托盘图标到系统托盘;...
主成分分析避坑指南:为什么你的PCA结果总是不理想?
本文深入剖析了主成分分析(PCA)在实际应用中效果不佳的常见原因与解决方案。针对数据标准化、协方差矩阵选择、主成分数量确定、载荷矩阵解读等关键环节,提供了详细的避坑指南和诊断方法,并探讨了PCA的局限性及非线性数据结构下的备选方案,帮助数据分析师获得更稳健、可解释的降维结果。
UG二次开发之 三面摆正体代码分析
CIUGUIBlock 是一个从UIBlock 派生的一个类,为什么要从UIBlock 派生出CIUGUIBlock,这是为了兼容低版的UG。如果我们不从的UIBlock 派生控件类对象指针,在UG 8.5以下的版本,会出现编译错误的问题。这是一个简单的入门功能,包括了不少的常用的UF函,下面我们将结合成品代码一起分析一下常用的函数,这对初学者是必要的。根据创建好的UI控件,在 initialize_cb 中创建控件的指针对象。//根据选定的面,指定 X,Y坐标系轴。//根据变换的矩阵,平移实体。
JAVA托盘程序SystemTray的心得
因为工作需要,又拾起了很久不用swing,还好没忘干净,需要做一个一直在后台运行的托盘程序,经过一番努力终于成功了。首先你要搞一个JFrame出来,如果你需要窗口,那就加上窗口,如果你只是需要后台运行,不设置窗口也可以,当然也可以选择设置了窗口大小,直接隐藏。将Resizable属性设置为false就可以了。废话不多说下面是JFrame代码import javax.swing.JFrame;
Android 14 (AOSP) 源码架构深度解析与开发者指南
Android14源码的仓库指南信息
Java——SystemTray系统托盘
import java.awt.*; import java.awt.event.*; import java.net.URL; import javax.swing.*; public class a extends JFrame{ SystemTray systemTray;//定义系统托盘 TrayIcon tranyIcon;//定义托盘 public a() { this.setBounds(500,300,500,500); //判断是否支持系统托盘 if(system
OpenOCD入门到精通:第 1 章 OpenOCD 概述
OpenOCD是一款开源的片上调试工具,支持60+调试适配器和8大处理器架构。它提供三大核心功能:片上调试、在系统编程和边界扫描测试。作为嵌入式开发工具链的中间桥梁,OpenOCD连接上层IDE/GDB与底层硬件,采用分层架构设计实现硬件兼容性。其配置基于Tcl脚本语言,支持网络服务接口,广泛应用于ARM、RISC-V等芯片的调试与烧录场景。
多传感器标定:如何统一摄像头、雷达与IMU坐标?
多传感器标定:如何统一摄像头、雷达与IMU坐标? ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。
Java的SystemTray类的使用方法
Java的SystemTray类的使用方法 JDK1.6版增加了java.awt.SystemTray类,该类表示桌面的系统托盘,这对大多数系统托盘应用已经足够。如果这个类还是不能满足您的需求,可以试一试JDIC (JDesktop Integration Components)。JDK1.6的API文档,给出了这个类的用法。有人愿意把创建系统托盘的代码直接放在主应用代码中,笔者更倾向于把创建系...
【实战教程】OpenClaw接入MySQL数据库实战指南
本文介绍了在虚拟机Ubuntu中访问宿主机Win11中MySQL数据库的配置方法,重点包括创建远程用户、权限配置和安全设置。首先在MySQL中创建具有只读权限的用户并刷新权限,然后调整服务器设置允许远程连接。文章还提供了某金融机构财富管理系统的数据库设计方案,包含理财产品表、客户表和份额表的核心结构,其中金额字段使用DECIMAL类型确保精度,并设置唯一键约束。文末强调测试环境配置完成后应恢复安全更新模式以保障生产环境安全。
java系统托盘_Java实现把窗体隐藏到系统托盘
package pretoct;import java.awt.AWTException;import java.awt.MenuItem;import java.awt.PopupMenu;import java.awt.SystemTray;import java.awt.TrayIcon;import java.awt.event.ActionEvent;import java.awt.ev...
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
java systemtray 乱码_小技巧:SystemTray中进行操作提示
SystemTray中进行操作提示在wp中应用比较广泛,截图如下。实现方法也十分简单1、xaml代码中写入:shell:SystemTray.IsVisible="True"shell:SystemTray.Opacity="0"2、C#代码中写入:private ProgressIndicator _progressIndicator = newProgressIndicator();priva...
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
java systemtray_在Java中动态更新SystemTray
是否可以在Java中的SystemTray中将项目添加到PopUpMenu?我试图将项目添加到菜单,但这没用.都不会添加它并调用TrayIcon.setPopMenu(PopUpMenu)以及之后的SystemTray.add(TrayIcon)方法.有什么建议么?解决方法:当然可以.看到我做的这个例子:import java.awt.AWTException;import java.awt.Ch...
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
SystemTray(转帖)
SystemTray意为桌面的系统托盘,在Windows下表现为任务状态栏的一个图标,在很多的应用中都有体现,如及时通讯软件(MSN、QQ),监控类软件(杀毒软件)等。 在 Java 6的java.awt包下提供了SystemTray和TrayIcon类,这两个类可以实现系统托盘功能,下面让我们看看如何去实现系统托盘。实现的流 程:捕获关闭窗口事件、隐藏窗口、显示托盘图标...
SystemTray和TrayIcon
ystemTray 类表示桌面的系统托盘。在 Microsoft Windows 上,它被称为“任务栏状态区域 (Taskbar Status Area)”,在 Gnome 上,它被称为“通知区域 (Notification Area)”,在 KDE 上,它被成为“系统托盘 (System Tray)”。系统托盘由运行在桌面上的所有应用程序共享。在某些平台上,可能不存在或不支持系统托盘,在
java systemtray_当用户点击关闭窗口时,如何将java应用程序放在Systemtray中
我从here看到如何使用托盘.所以我用这种方式使用它:private void checkTray() throws IOException {if (SystemTray.isSupported()) {System.out.println("system tray supported");tray = SystemTray.getSystemTray();Image image = Image...
java systemtray_ava SystemTray类(系统托盘)和TrayIcon类(托盘图标)
利用SystemTray类可以访问系统托盘,每个Java应用程序在运行时都会被分配一个该类的实例,可以通过该类的静态方法getSystemTray()获得。某些系统可能不支持系统托盘功能,此时可以通过静态方法isSupported()判断当前系统是否支持该功能,如果支持则返回true,否则返回false。通过方法add(TrayIcon trayIcon)可以为当前应用程序添加托盘图标到系统托盘;...
《SystemTray》——— SystemTray的简单使用
SystemTray控件也就是显示电池信号量的区域空间(如图) 它可以做進度提示、广告等。 1 SystemTray.BackgroundColor="<背景顏色>" 2 SystemTray.ForegroundColor="<前景顏色>" 3 SystemTray.Opacity="<透明度>" 4 SystemTray.IsVisible...
JavaSE 初学系统托盘图标SystemTray类
文章目录1.预备知识2.使系统托盘显示图标3.添加提示4.添加弹出菜单 设置Java程序的系统托盘图标,用到SystemTray类和TrayIcon类。 1.预备知识 JavaAPI对于SystemTray类描述: SystemTray类代表桌面的系统托盘。 在Microsoft Windows上,它被称为“任务栏状态区”,在Gnome上将其称为“通知区域”,在KDE上称为“系统托盘”。 系统托...
JDK6新特性之一 Desktop类和SystemTray类
1 Desktop类和SystemTray类 在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序.下面代码演示了Desktop和SystemT
SystemTray类
SystemTray意为桌面的系统托盘,在Windows下表现为任务状态栏的一个图标,在很多的应用中都有体现,如及时通讯软件(MSN、QQ),监控类软件(杀毒软件)等。 在 Java 6的java.awt包下提供了SystemTray和TrayIcon类,这两个类可以实现系统托盘功能,下面让我们看看如何去实现系统托盘。实现的流 程:捕获关闭窗口事件、隐藏窗口、显示托盘图标...
java SystemTray类的用法示例——显示一个系统图标,点击后跳转到指定的页面
package com.oracle.core; import java.awt.AWTException; import java.awt.Desktop; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.TrayIcon; import java....
python 笔记 PySimpleGUI 图形界面37 - 系统托盘元素 SystemTray
整理 PySimpleGUI 官方网站 原文google翻译过来的 https://pysimplegui.readthedocs.io/en/latest/ 您将找到有关Elements的信息,所有其他类和函数都位于本手册结尾处。它们位于自述文件的大部分中,按字母顺序排列以便于查找。本节对Elements的讨论旨在教您如何工作。另一部分包含详细的呼叫签名和参数定义。 系统托盘元素 SystemTray “模拟系统任务栏”复制了PySimpleGUIWx和PySimpleGUIQt用户可用的API调用。
1万+



被折叠的 条评论
为什么被折叠?



