您的位置:首页 > 编程语言 > Java开发

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

2014-07-11 16:27 746 查看
预备知识: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 optional
mailto
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(){

@Override
public 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: