jfilechooser 的使用 监听

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JProgressBar;
import javax.swing.JTextField;

import jxl.SheetSettings;
import jxl.biff.HeaderFooter;


public class HandleFrame extends JFrame implements ActionListener{
 private JTextField html_text,excel_text,tname,ename;
 private JButton html_folder,excel_folder,cast;
 private JLabel l_html,l_excle;
 private Box box1,box2,box3,box4,box5,box6;
 private JFileChooser jfc;
 private JCheckBox jc,jc2;
 private JProgressBar bar;
 public HandleFrame(){
  l_html=new JLabel("请选择html存放目录");
  l_excle=new JLabel("请选择excel生成目录");
  html_text=new JTextField(20);
  excel_text=new JTextField(20);
  tname=new JTextField(20);
  ename=new JTextField(20);
  jc=new JCheckBox("输入表头名");
  jc2=new JCheckBox("输入excel名");
  ename.setEditable(false);
  tname.setEditable(false);
  html_text.setEditable(false);
  excel_text.setEditable(false);
  
  html_folder=new JButton("浏览.....");
  excel_folder=new JButton("浏览.....");
  cast=new JButton("开始转换");
  
  bar = new JProgressBar( 0, 100);
  bar.setStringPainted(true);
  
  jc.addActionListener(this);
  html_folder.addActionListener(this);
  excel_folder.addActionListener(this);
  cast.addActionListener(this);
  jc2.addActionListener(this);
  
  box5=Box.createHorizontalBox();
  box5.add(Box.createHorizontalStrut(20));
  box5.add(jc);
  box5.add(tname);
  box5.add(Box.createHorizontalStrut(20));
  
  box6=Box.createHorizontalBox();
  box6.add(Box.createHorizontalStrut(20));
  box6.add(jc2);
  box6.add(ename);
  box6.add(Box.createHorizontalStrut(20));
  
  
  box1=Box.createHorizontalBox();
  box1.add(Box.createHorizontalStrut(20));
  box1.add(l_html);
  box1.add(html_text);
  box1.add(html_folder);
  box1.add(Box.createHorizontalStrut(20));
  box2=Box.createHorizontalBox();
  box2.add(Box.createHorizontalStrut(20));
  box2.add(l_excle);
  box2.add(excel_text);
  box2.add(excel_folder);
  box2.add(Box.createHorizontalStrut(20));
  box3=Box.createHorizontalBox();
  box3.add(Box.createHorizontalStrut(20));
  box3.add(cast);
  box3.add(Box.createHorizontalStrut(10));
  box3.add(bar);
  box3.add(Box.createHorizontalStrut(20));
  box4=Box.createVerticalBox();
  
  box4.add(Box.createVerticalStrut(20));
  box4.add(box6);
  box4.add(Box.createVerticalStrut(20));
  box4.add(box5);
  box4.add(Box.createVerticalStrut(20));
  box4.add(box1);
  box4.add(Box.createVerticalStrut(20));
  box4.add(box2);
  box4.add(Box.createVerticalStrut(20));
  box4.add(box3);
  box4.add(Box.createVerticalStrut(20));
  jfc=new JFileChooser(new File("d://"));
  add(box4);
  pack();
  this.setResizable(true);
  this.setLocationRelativeTo(null);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setVisible(true);
 }
 public static void main(String[] args) {
   new HandleFrame();
 }
 @Override
 public void actionPerformed(ActionEvent e) {
  if(e.getSource().equals(html_folder)){
   jfc.setFileSelectionMode(1);
   int state=jfc.showOpenDialog(null);
   if(state==1){  
                return;
            }  
            else{  
                File f=jfc.getSelectedFile();
                html_text.setText(f.getAbsolutePath());  
            }  
   
  }else if(e.getSource().equals(excel_folder)){
   jfc.setFileSelectionMode(1);
   int state=jfc.showOpenDialog(null);
   if(state==1){  
                return;
            }  
            else{  
                File f=jfc.getSelectedFile();
                excel_text.setText(f.getAbsolutePath());  
            }  
  }else if(e.getSource().equals(cast)){
   final String html = html_text.getText().replace("//", "/");
   final String excel = excel_text.getText().replace("//", "/");
   final String headname = tname.getText().trim();
   final String excel_name=ename.getText().trim();
   Thread thread = new Thread(new Runnable() {
    public void run() {     
      try {
       new ExcelHandle(bar).castAll(html, excel, headname,excel_name);
       bar.setString("转换完成!");
      } catch (HTMLException1 e) {
       JOptionPane.showMessageDialog(null, e.getMes()+"文件出错", "出错", 1); 
       e.printStackTrace();
      } catch (HTMLException2 e) {
       JOptionPane.showMessageDialog(null, e.getMes()+"文件出错", "出错", 1);
       e.printStackTrace();
      }
    }
   });
   thread.start(); 
  }else if(e.getSource().equals(jc)){
    if(jc.isSelected()){
     tname.setEditable(true);
    }else{
     tname.setText(null);
     tname.setEditable(false);
    }
  }else if(e.getSource().equals(jc2)){
    if(jc2.isSelected()){
     ename.setEditable(true);
    }else{
     ename.setText(null);
     ename.setEditable(false);
    }
  }
  
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值