Java1.6.0实现调用操作平台桌面系统
2014-06-05 18:13
316 查看
转自:http://blog.csdn.net/mq612/article/details/1478961
java.awt.Desktop类可获得操作平台的桌面系统,以便使用系统默认浏览器、编辑器、邮件、打印等。
java.awt.Desktop类可获得操作平台的桌面系统,以便使用系统默认浏览器、编辑器、邮件、打印等。
import java.awt.Desktop; 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; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; /** * Java1.6.0实现调用操作平台桌面系统 * Desktop类将获得操作平台的桌面系统,以便使用系统默认浏览器、编辑器、邮件、打印等 * 一堆按钮摆在一起不大好看,懒的布局了,大家能看明白就成,打开文件、编辑文件和打印文件需要先按“浏览”按钮,选择一个文件后才行。 * * @author 五斗米 <如转载请保留作者和出处> * @blog http://blog.csdn.net/mq612 */ public class DesktopDemo extends JFrame { private JPanel pane = null; private JLabel label = null; // 显示信息的标签 private JButton [] button = null; // 启动平台默认程序的按钮 private Desktop desktop = null; // 本操作平台的桌面系统实例 private JTextField text = null; // 显示文件地址的TextField private JButton b = null; // 浏览文件的按钮 private JFileChooser fc = null; // 需要浏览文件 private File file = null; // 文件 public DesktopDemo() { super("Java1.6.0实现调用操作平台桌面系统"); try { // 将LookAndFeel设置成Windows样式 UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception ex) { ex.printStackTrace(); } fc = new JFileChooser(); pane = new JPanel(); label = new JLabel("本操作平台不支持桌面系统"); // 默认标签文字为不支持 pane.add(label); button = new JButton[5]; button[0] = new JButton("默认浏览器"); button[1] = new JButton("默认邮件"); button[2] = new JButton("默认程序打开文件"); button[3] = new JButton("默认程序编辑文件"); button[4] = new JButton("打印文件"); for(int i = 0; i < button.length; i++){ // 使按钮暂不可用 button[i].setEnabled(false); } pane.add(button[0]); pane.add(button[1]); text = new JTextField(30); text.setEditable(false); // 不可编辑 b = new JButton("浏览"); // 使按钮暂不可用 b.setEnabled(false); pane.add(text); pane.add(b); pane.add(button[2]); pane.add(button[3]); pane.add(button[4]); desktop = Desktop.getDesktop(); // 返回本操作平台的桌面系统 if(desktop.isDesktopSupported()){ // 如果该操作平台支持桌面系统 this.desktop(); } this.getContentPane().add(pane); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(400, 200); this.setVisible(true); } /** * 桌面系统 */ private void desktop(){ label.setText("本操作平台支持桌面系统"); for(int i = 0; i < button.length; i++){ // 使按钮可用 button[i].setEnabled(true); } b.setEnabled(true); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { openFile(); } }); button[0].addActionListener(new ActionListener() { // 打开平台默认的浏览器 public void actionPerformed(ActionEvent e) { try { desktop.browse(new URI("http://blog.csdn.net/mq612")); // 打开平台默认的浏览器 } catch (URISyntaxException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } }); button[1].addActionListener(new ActionListener() { // 打开平台默认的邮件 public void actionPerformed(ActionEvent e) { try { /* * 打开平台默认的邮件,有两个方法 * mail() // 单独打开默认的邮件 * mail(URI mailtoURI) // 带接收者地址的mail方法 */ desktop.mail(new URI("mailto:mq612@163.com")); } catch (URISyntaxException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } }); button[2].addActionListener(new ActionListener() { // 使用平台默认程序打开文件 public void actionPerformed(ActionEvent e) { try { desktop.open(file); } catch (IOException ex) { ex.printStackTrace(); } } }); button[3].addActionListener(new ActionListener() { // 使用平台默认程序编辑文件 public void actionPerformed(ActionEvent e) { try { desktop.edit(file); } catch (IOException ex) { ex.printStackTrace(); } } }); button[4].addActionListener(new ActionListener() { // 使用平台默认打印程序打印文件,此操作会先用默认的程序打开相应文件后再打印。 public void actionPerformed(ActionEvent e) { try { desktop.print(file); } catch (IOException ex) { ex.printStackTrace(); } } }); } /** * 浏览本地文件 */ private void openFile(){ fc.showOpenDialog(this); file = fc.getSelectedFile(); text.setText(file.toString()); } public static void main(String[] args) { new DesktopDemo(); } }
相关文章推荐
- Java1.6.0实现调用操作平台桌面系统
- Java实现调用操作平台桌面系统
- Java6实现调用操作平台桌面系统
- 调用系统命令实现删除文件的操作,java调用系统命令实现删除文件的操作
- java代码实现鼠标双击出现画图-----------paint()方法由系统自动调用,且一定是小写的字母p
- 对于JAVA系统中的定时操作有两种实现方式(针对oarcle)
- Android平台,如何调用javascript操作网页和js调用系统功能
- Java运用JNI调用dll实现屏蔽系统热键
- java运用jni调用dll(含源码)实现屏蔽系统热键和任务栏
- java调用vbs,实现打开关闭excel操作小示例
- java运用jni调用dll实现屏蔽系统热键和任务栏
- 请教.Net平台大型业务系统中“日志记录” 的较好解决办法,类似Java下用AOP方式实现的最好
- Redis缓存系统(一)Java-Jedis操作Redis,基本操作以及 实现对象保存
- Android平台,如何调用javascript操作网页和js调用系统功能
- Redis缓存系统(1)Java-Jedis操作Redis,基本操作以及 实现对象保存
- JAVA用JNI方法调用C代码实现HelloWorld(含windows及ubuntu两种操作系统环境下的操作)
- Java实现调用Jerasure库对文件进行编解码操作
- javabean操作文件正确,但是Jsp调用javabean时文件路径出错问题解决之JavaBean访问本地文件实现路径无关实现方法
- Android平台,如何调用javascript操作网页和js调用系统功能
- 在i386平台Linux 2.6 上实现一个系统调用