📄 main.java
字号:
package ui;
import java.awt.GridLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.sql.SQLException;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.filechooser.FileFilter;
import logic.DBConnector;
public class Main extends JFrame implements ActionListener{
private JRadioButton dbf = new JRadioButton("*.dbf");
private JRadioButton xls = new JRadioButton("*.xls");
private JTextField filepath = new JTextField("请选择文件");
private JButton open = new JButton("打 开");
private JButton execute = new JButton("导 入");
private File file;
private DBConnector dbc;
JFileChooser chooser = new JFileChooser();
public Main(){
init();
}
public Main(DBConnector dbc){
init();
this.dbc = dbc;
}
public void init(){
//p1 to hold file
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1,2));
ButtonGroup bgroup = new ButtonGroup();
bgroup.add(dbf);
bgroup.add(xls);
dbf.setSelected(true);
p1.add(dbf);
p1.add(xls);
p1.setBorder(new TitledBorder("选择数据文件类型"));
p1.setBounds(new Rectangle(10,5,275,50));
JPanel p2 = new JPanel();
p2.setLayout(null);
open.addActionListener(this);
execute.addActionListener(this);
open.setBounds(new Rectangle(29,5,87,27));
execute.setBounds(new Rectangle(174,5,87,27));
p2.add(open,null);
p2.add(execute,null);
execute.setEnabled(false);
p2.setBounds(new Rectangle(10,80,275,40));
filepath.setBounds(new Rectangle(10,60,275,20));
filepath.setEditable(false);
getContentPane().setLayout(null);
getContentPane().add(p1,null);
getContentPane().add(filepath,null);
getContentPane().add(p2,null);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int returnVal = 0;
if(e.getSource() == open){
if(xls.isSelected()){
chooser.setFileFilter(new ExampleFileFilter("xls"));
}else{
chooser.setFileFilter(new ExampleFileFilter("dbf"));
}
returnVal = chooser.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
filepath.setText(chooser.getSelectedFile().getAbsolutePath());
execute.setEnabled(true);
}
}else if(e.getSource() == execute){
if(returnVal == JFileChooser.APPROVE_OPTION) {
File f = chooser.getSelectedFile();
String [] sqls = null;
if(xls.isSelected()){
sqls = dbc.getXls(f);
}else if(dbf.isSelected()){
sqls = dbc.getDbf(f);
}
if(doSql(sqls)==true){;
JOptionPane.showMessageDialog(this, "success!");
}else{
JOptionPane.showMessageDialog(this, "ERROR!");
}
}
}
}
public boolean doSql(String[] sqls){
try {
dbc.execute(sqls[0]);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
for(int i = 1 ;i< sqls.length;i++){
try {
dbc.execute(sqls[i]);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -