学习Java6(七)Desktop(4)使用默认程序编辑所选文件

 1  import  java.awt.Desktop;
 2  import  java.awt.event.ActionEvent;
 3  import  java.awt.event.ActionListener;
 4  import  java.io.File;
 5  import  java.io.IOException;
 6  import  javax.swing.JButton;
 7  import  javax.swing.JFileChooser;
 8  import  javax.swing.JFrame;
 9  import  javax.swing.UIManager;
10 
11  public   class  TestDesktopEditFile {
12       private  JFrame frame;
13 
14       /**
15       * Launch the application
16       * 
17       *  @param  args
18        */
19       public   static   void  main(String args[]) {
20           try  {
21              TestDesktopEditFile window  =   new  TestDesktopEditFile();
22              window.frame.setVisible( true );
23          }  catch  (Exception e) {
24              e.printStackTrace();
25          }
26      }
27 
28       /**
29       * Create the application
30        */
31       public  TestDesktopEditFile() {
32          initialize();
33      }
34 
35       /**
36       * Initialize the contents of the frame
37        */
38       private   void  initialize() {
39           try  {
40              UIManager.setLookAndFeel( " com.sun.java.swing.plaf.windows.WindowsLookAndFeel " );
41          }  catch  (Exception ex) {
42              ex.printStackTrace();
43          }
44          frame  =   new  JFrame();
45          frame.getContentPane().setLayout( null );
46          frame.setBounds( 100 100 225 86 );
47          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
48           final  JButton openButton  =   new  JButton();
49          openButton.setBounds( 53 10 106 31 );
50          openButton.addActionListener( new  ActionListener() {
51               public   void  actionPerformed(ActionEvent e) {
52                   if  (Desktop.isDesktopSupported()) {
53                      Desktop desktop  =  Desktop.getDesktop();
54                      JFileChooser jfc  =   new  JFileChooser();
55                      jfc.showOpenDialog(frame);
56                      File file  =  jfc.getSelectedFile();
57                       if  (file  !=   null ) {
58                           try  {
59                              desktop.edit(file); // 就这一行的区别
60                          }  catch  (IOException e1) {
61                              e1.printStackTrace();
62                          }
63                      }
64                  }  else  {
65                      System.out.println( " 不支持desktop " );
66                  }
67              }
68          });
69          openButton.setText( " edit " );//哦哦哦,还有这一行也不一样,呵呵
70          frame.getContentPane().add(openButton);
71      }
72  }
73 


换了windows的风格以后界面顺眼多了
但是有点不理解
为啥不能自动判断操作系统去改变界面风格?

该类型文件没有对应的默认编辑程序的时候,会抛出异常,不能像WINDOWS下面那样弹出一个对话框让你从已知的程序列表中选择一个。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值