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);
}
}
}
}