Java调用本机程序完成打开网页、发送邮件和编辑文件

预备知识:Desktop类

所在包: java.awt.Desktop;

描述:Desktop类允许在Java程序中调用注册到本地机器上的应用程序来处理URI或文件。

支持的操作:

launching the user-default browser to show a specified URI;//用默认浏览器打开指定网页,如关门程序后打开指定网页(很烦的!!!)

launching the user-default mail client with an optionalmailto URI; //用默认邮件客户端程序发送邮件

launching a registered application to open, edit or print a specified file. //用文本工具打开编辑文件(如修改配置文件)

实例:

源码:

import java.awt.BorderLayout;import java.awt.Desktop;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import javax.swing.*;import java.io.File;import java.net.URI;public class TestDesktop{JFrame jf;JTextField contents;JPanel panel;JButton browseBtn;JButton mailBtn;JButton editBtn;Desktop desktop;public void init(){jf = new JFrame("Test Desktop");contents = new JTextField("Enter here...");panel = new JPanel();browseBtn = new JButton("Browse");mailBtn = new JButton("Mail");editBtn = new JButton("Edit");panel.add(browseBtn);panel.add(mailBtn);panel.add(editBtn);ActionListener actionListener = new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){if(Desktop.isDesktopSupported()){if(desktop == null){desktop = Desktop.getDesktop();}}else{JOptionPane.showMessageDialog(jf,"Desktop not supported.");}try{if(e.getActionCommand() == "Browse"){desktop.browse(new URI(contents.getText()));}else if(e.getActionCommand() == "Mail"){desktop.mail(new URI(contents.getText()));}else {desktop.edit(new File(contents.getText()));}}catch(Exception ex){ex.printStackTrace();}}};browseBtn.addActionListener(actionListener);mailBtn.addActionListener(actionListener);editBtn.addActionListener(actionListener);jf.add(contents,BorderLayout.NORTH);jf.add(panel);jf.pack();jf.setVisible(true);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args){new TestDesktop().init();}}

演示:

1.打开CSDN首页(输入www.csdn.net,点击Browse)

2.发送邮件(输入:mailto:aaa@example.com?cc=bbb@example.com&body=hello,点击Mail)

3.编辑文本(输入文件名,此次用D:\1.txt,点击Edit)

End

每天告诉自己一次,我真的很不错

Java调用本机程序完成打开网页、发送邮件和编辑文件

相关文章:

你感兴趣的文章:

标签云: