📄 gui.java
字号:
package gui;
import input.FromTXT;
import input.Fromexcel;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import database.DBAccess;
public class Gui extends JFrame implements ActionListener
{
private Container container = new Container();;
private JTabbedPane tabbedpane = new JTabbedPane();
private JPanel makebase = new JPanel();
private JPanel all1 = new JPanel();
private JPanel all2 = new JPanel();
private JPanel jpselectM = new JPanel();
private JPanel jpselectLM = new JPanel();
private JPanel jpselectRM = new JPanel();
private JPanel jpselectLM2 = new JPanel();
private JPanel centreM = new JPanel();
private JPanel buttonM = new JPanel();
private JPanel updatebase = new JPanel();
private JPanel all3 = new JPanel();
private JPanel all4 = new JPanel();
private JPanel jpselectU = new JPanel();
private JPanel jpselectLU = new JPanel();
private JPanel jpselectRU = new JPanel();
private JPanel jpselectLU2 = new JPanel();
private JPanel centreU = new JPanel();
private JPanel buttonU = new JPanel();
private JPanel spaceSM = new JPanel();
private JPanel spaceNM = new JPanel();
private JPanel spaceEM = new JPanel();
private JPanel spaceWM = new JPanel();
private JPanel spaceSU = new JPanel();
private JPanel spaceNU = new JPanel();
private JPanel spaceEU = new JPanel();
private JPanel spaceWU = new JPanel();
private JButton selectM = new JButton(" SELECT");
private JButton selectU = new JButton(" SELECT");
private JButton okM = new JButton(" OK");
private JButton okU = new JButton(" OK");
private JLabel chooseM = new JLabel("Choose Date Source");
private JLabel chooseU = new JLabel("Choose Date Source");
private JLabel chooseM2 = new JLabel("Choose Datebase Name");
private JLabel chooseU2 = new JLabel("Choose Datebase Name");
private JTextField jtselectM = new JTextField();
private JTextField jtselectU = new JTextField();
private JTextField jtselectM2 = new JTextField();
private JTextField jtselectU2 = new JTextField();
@SuppressWarnings("unused")
private File read;
private File readU;
private String readS = " ";
private String readSU = " ";
private int row;
private int col;
private Vector<Vector> tempvector = new Vector<Vector>();
private Vector<String> tempelement = new Vector<String>();
private boolean istxt;
// the static variable of singleton
static boolean instance_flag = false;
Gui()
{
if (instance_flag)
{
throw new SingletonException("Only one instance allowed");
}
else
{
container=getContentPane();
container.setLayout(new BorderLayout());
makebase.setLayout( new BorderLayout());
updatebase.setLayout( new BorderLayout());
all1.setLayout(new GridLayout(2,1));
jpselectM.setLayout(new GridLayout(1,2));
jpselectLM.setLayout(new FlowLayout(FlowLayout.LEFT));
jpselectRM.setLayout(new FlowLayout(FlowLayout.RIGHT));
jpselectLM.add(chooseM);
jpselectRM.add(selectM);
jpselectM.add(jpselectLM);
jpselectM.add(jpselectRM);
all1.add(jpselectM);
all1.add(jtselectM);
all2.setLayout(new GridLayout(2,1));
jpselectLM2.setLayout(new FlowLayout(FlowLayout.LEFT));
jpselectLM2.add(chooseM2);
all2.add(jpselectLM2);
all2.add(jtselectM2);
buttonM.setLayout(new FlowLayout(FlowLayout.RIGHT));
buttonM.add(okM);
centreM.setLayout(new GridLayout(3,1));
centreM.add(all1);
centreM.add(all2);
centreM.add(buttonM);
makebase.add(spaceSM , BorderLayout.SOUTH);
makebase.add(spaceNM , BorderLayout.NORTH);
makebase.add(spaceEM , BorderLayout.EAST);
makebase.add(spaceWM , BorderLayout.WEST);
makebase.add(centreM , BorderLayout.CENTER);
all3.setLayout(new GridLayout(2,1));
jpselectU.setLayout(new GridLayout(1,2));
jpselectLU.setLayout(new FlowLayout(FlowLayout.LEFT));
jpselectRU.setLayout(new FlowLayout(FlowLayout.RIGHT));
jpselectLU.add(chooseU);
jpselectRU.add(selectU);
jpselectU.add(jpselectLU);
jpselectU.add(jpselectRU);
all3.add(jpselectU);
all3.add(jtselectU);
all4.setLayout(new GridLayout(2,1));
jpselectLU2.setLayout(new FlowLayout(FlowLayout.LEFT));
jpselectLU2.add(chooseU2);
all4.add(jpselectLU2);
all4.add(jtselectU2);
buttonU.setLayout(new FlowLayout(FlowLayout.RIGHT));
buttonU.add(okU);
centreU.setLayout( new GridLayout(3,1));
centreU.add(all3);
centreU.add(all4);
centreU.add(buttonU);
updatebase.add(spaceSU , BorderLayout.SOUTH);
updatebase.add(spaceNU , BorderLayout.NORTH);
updatebase.add(spaceEU , BorderLayout.EAST);
updatebase.add(spaceWU , BorderLayout.WEST);
updatebase.add(centreU , BorderLayout.CENTER);
tabbedpane.add(makebase , "Make new base");
tabbedpane.add(updatebase , "Update base");
container.add(tabbedpane , BorderLayout.CENTER);
selectM.addActionListener(this);
selectU.addActionListener(this);
okM.addActionListener(this);
okU.addActionListener(this);
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == selectM)
{
JFileChooser fdo = new JFileChooser();
fdo.setCurrentDirectory(new File("."));
fdo.setAcceptAllFileFilterUsed(false);
fdo.setFileSelectionMode(JFileChooser.FILES_ONLY);
fdo.addChoosableFileFilter(new javax.swing.filechooser.FileFilter()
{
public boolean accept(File f)
{
if (f.getName().toLowerCase().endsWith(".txt")||f.getName().toLowerCase().endsWith(".xls"))
{
if(f.getName().toLowerCase().endsWith(".txt"))
{
istxt = true;
}
else
{
istxt = false;
}
return true;
}
if (f.isDirectory())
{
return true;
}
return false;
}
public String getDescription()
{
return "Excel(*.xls) 记事本(*.txt)";
}
}
);
fdo.showOpenDialog(null);
readS = fdo.getSelectedFile().getPath();
jtselectM.setText(readS);
read = fdo.getSelectedFile();
repaint();
}
if(e.getSource() == okM)
{
if(!istxt)
{
Fromexcel excel = new Fromexcel();
DBAccess db = new DBAccess();
excel.setPath(readS);
excel.setName(jtselectM2.getText());
excel.input();
row = excel.getrow();
col = excel.getcol();
System.out.print(row);
System.out.print(col);
tempvector = excel.getData();
db.initialize();
db.executeCreat(excel.getCreat());
for(int i = 0; i < row ; i++)
{
StringBuffer sqlbf = new StringBuffer();
sqlbf.append("insert into ");
sqlbf.append(jtselectM2.getText());
sqlbf.append(" values(");
for(int j = 0; j < col ; j++)
{
if(j == col - 1)
{
sqlbf.append(tempvector.get(i).get(j));
sqlbf.append(")");
}
else
{
sqlbf.append(tempvector.get(i).get(j));
sqlbf.append(",");
}
}
db.executeUpdate(sqlbf.toString());
}
db.close();
}
else
{
FromTXT txt = new FromTXT();
DBAccess db = new DBAccess();
txt.input(read,jtselectM2.getText());
db.initialize();
db.executeCreat(txt.getCreat());
tempelement = txt.getData();
for(int i = 1; i < tempelement.size(); i++)
{
StringBuffer sqlbf = new StringBuffer();
sqlbf.append("insert into ");
sqlbf.append(jtselectM2.getText());
sqlbf.append(" values(");
sqlbf.append(tempelement.get(i));
sqlbf.append(")");
db.executeUpdate(sqlbf.toString());
}
db.close();
}
}
if(e.getSource() == selectU)
{
JFileChooser fdo = new JFileChooser();
fdo.setCurrentDirectory(new File("."));
fdo.setAcceptAllFileFilterUsed(false);
fdo.addChoosableFileFilter
(new javax.swing.filechooser.FileFilter()
{
public boolean accept(File f)
{
if (f.getName().toLowerCase().endsWith(".txt")||f.getName().toLowerCase().endsWith(".exl"))
{
if(f.getName().toLowerCase().endsWith(".txt"))
{
istxt = true;
}
else
{
istxt = false;
}
return true;
}
if (f.isDirectory())
{
return true;
}
return false;
}
public String getDescription()
{
return "Excel(*.exl) 记事本(*.txt)";
}
}
);
fdo.showOpenDialog(null);
readU = fdo.getSelectedFile();
readSU = fdo.getSelectedFile().getPath();
jtselectU.setText(readSU);
repaint();
}
if(e.getSource() == okU)
{
if(!istxt)
{
Fromexcel excel = new Fromexcel();
DBAccess db = new DBAccess();
excel.setPath(readSU);
excel.setName(jtselectU2.getText());
excel.input();
row = excel.getrow();
col = excel.getcol();
tempvector = excel.getData();
tempelement = excel.getElement();
db.initialize();
for(int i = 0; i < col ; i++)
{
StringBuffer sqlbf = new StringBuffer();
StringBuffer sqlse = new StringBuffer();
sqlbf.append("insert into ");
sqlbf.append(jtselectU2.getText());
sqlbf.append(" values(");
sqlse.append("select * from ");
sqlse.append(jtselectU2.getText());
sqlse.append(" where ");
for(int j = 0; j < row ; j++)
{
sqlse.append(tempelement.get(j));
sqlse.append(" = ");
if(j == col - 1)
{
sqlbf.append(tempvector.get(j).get(i));
sqlbf.append(")");
sqlse.append(tempvector.get(j).get(i));
}
else
{
sqlbf.append(tempvector.get(j).get(i));
sqlbf.append(",");
sqlse.append(tempvector.get(j).get(i));
sqlse.append(" and ");
}
}
if(db.executeQuery(sqlse.toString()) == null)
{
db.executeUpdate(sqlbf.toString());
}
}
db.close();
}
else
{
FromTXT txt = new FromTXT();
DBAccess db = new DBAccess();
txt.input(readU,jtselectU2.getText());
tempelement = txt.getData();
StringBuffer sqlbf = new StringBuffer();
for(int i = 1; i < tempelement.size(); i++)
{
sqlbf = new StringBuffer();
sqlbf.append("insert into ");
sqlbf.append(jtselectU2.getText());
sqlbf.append(" values(");
sqlbf.append(tempelement.get(i));
sqlbf.append(" )");
db.executeUpdate(sqlbf.toString());
}
db.close();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -