⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gui.java

📁 java编写的database录入软件 支持exl格式
💻 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 + -