千家信息网

如何分析JDK6.0的Desktop和SystemTray类特性

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天就跟大家聊聊有关如何分析JDK6.0的Desktop和SystemTray类特性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在JDK6中
千家信息网最后更新 2026年11月01日如何分析JDK6.0的Desktop和SystemTray类特性

今天就跟大家聊聊有关如何分析JDK6.0的Desktop和SystemTray类特性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序.下面代码演示了Desktop和SystemTray的用法.

/**
*
* @author chinajash
*/
public class DesktopTray {
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("netbeans.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("
");
}
});

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);
}
}
http://blog.csdn.net/chinajash

如果在Windows中运行该程序,可以看到在系统托盘区有一个图标,右击该图标会弹出一个菜单,点击Open My Blog会打开IE,并浏览"http://blog.csdn.net/chinajash";点击Send Mail to me会打开Outlook Express给我发邮件;点击Edit Text File会打开记事本编辑在程序中创建的文件test.txt

看完上述内容,你们对如何分析JDK6.0的Desktop和SystemTray类特性有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

系统 托盘 程序 内容 图标 文件 邮件 支持 浏览 特性 分析 平台 记事本 两个 代码 后缀 图片 客户 客户端 应用程序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网新科技 亿人帮互联网科技有限公司 互联网佳科技有限公司 广州百单互联网科技有限公司 今日互联网科技 厦门中拓互联网络科技有限公司 互联网的科技创新 齐家互联网科技 科技创新互联网企业 互联网科技公司名称 深圳卡尔迅互联网科技有限公司怎么样 厦门比较好的科技互联网公司 辽宁互联网新科技 洛阳昕诺飞互联网科技有限公司 四川慕妮娅互联网科技有限公司 互联网科技实习生岗位 广州百诚互联网科技有限公司官网 宇信科技在杭州互联网排第几 西安有哪些互联网高科技企业 银川新华互联网科技学校是国营吗 百单网互联网科技有限公司 互联网金融 科技金融 有马互联网科技 深圳齐家互联网科技 善班互联网科技有限公司 互联网汽车科技小镇 特约风豹互联网科技为什么扣费 北京市互联网新科技 互联网科技手机排行榜 优雇互联网科技有限公司
0