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

📄 baseclass.java

📁 档案管理(java).rar
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;
import javax.swing.table.*;
import java.text.*;
import javax.swing.text.*;
class DataBase//连接odbc的类
{
	
	Connection cn=null;
	Statement st;
	ResultSet rs;
	ResultSetMetaData rsmd;
    DataBase()
	{
	    String str="jdbc:odbc:HANBIN";
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch(ClassNotFoundException e)
		{
			System.out.println(e.getMessage());
		}
		try
		{
            cn=DriverManager.getConnection(str,"","");
		}
		catch(SQLException ee)
		{
			System.out.println(ee.getMessage());
			
		}
	
	}
	
	public void GetResultSet(String s)//初始化记录集
	{
	  try
      {
	        st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
	        rs=st.executeQuery(s);
	        rsmd=rs.getMetaData();
	        
	        	       
	  }catch(SQLException e){}
    }
    
}


////设置表格Model
class ModleTable
{
	DefaultTableModel model;
	DataBase dbModel;
	Vector head=new Vector();
	//有开始列参数的表格
	void getmodel(String s,int colBegin)
		{
			try
			{
				dbModel=new DataBase();
				dbModel.GetResultSet(s);
			    Vector head=new Vector();
			    model=new DefaultTableModel()
			    {
			    	public boolean isCellEditable(int row,int col)
			    	{
			    		return false;
			    	}
			    };
		       	for(int i=colBegin;i<dbModel.rsmd.getColumnCount();i++)
			        head.addElement(dbModel.rsmd.getColumnName(i+1));
			         
			    model.setColumnIdentifiers(head); 
			    while(dbModel.rs.next())
			    {
			   	    Vector data=new Vector();
			   	    for(int i=colBegin;i<dbModel.rsmd.getColumnCount();i++)
			   	        data.addElement(dbModel.rs.getString(i+1));
			   	    model.addRow(data);   
			    }
			    
			    dbModel.st.close();
			    }
			    catch(SQLException e){}
	     }
	  //有开始和结束列参数的表格
	     void getmodel(String s,int colBegin,int colEnd)
		{
			try
			{
				dbModel=new DataBase();
				dbModel.GetResultSet(s);
			    Vector head=new Vector();
			    model=new DefaultTableModel()
			    {
			    	public boolean isCellEditable(int row,int col)
			    	{
			    		return false;
			    	}
			    };
		       	for(int i=colBegin;i<colEnd;i++)
			        head.addElement(dbModel.rsmd.getColumnName(i+1));
			         
			    model.setColumnIdentifiers(head); 
			    while(dbModel.rs.next())
			    {
			   	    Vector data=new Vector();
			   	    for(int i=colBegin;i<colEnd;i++)
			   	        data.addElement(dbModel.rs.getString(i+1));
			   	    model.addRow(data);   
			    }
			    
			    dbModel.st.close();
			    }
			    catch(SQLException e){}
	     }

}
//固定列的表格
class LockTableModel extends ModleTable
{
	int pushedColumn;
	JButton b;
	
	JTable tableOne,tableTwo;
	JScrollPane scroll;
	DefaultTableCellRenderer renderer;
	LockTableModel(String str,int i,int num)
	{
		
		getmodel(str,i);
		tableOne=new JTable(model);
		getmodel(str,i+num);
		tableTwo=new JTable(model);
	
	    //tableOne.getTableHeader().setUpdateTableInRealTime(false);
		tableOne.setPreferredScrollableViewportSize(new Dimension(tableOne.getColumnModel().getColumn(0).getPreferredWidth()*num,tableOne.getPreferredSize().height));                                                                                                                                                                                                                                                                    
	    tableOne.setAutoResizeMode(tableOne.AUTO_RESIZE_OFF);
	    
		
		
		tableTwo.setPreferredScrollableViewportSize(new Dimension(475,tableOne.getPreferredSize().height));
		tableTwo.setSelectionModel(tableOne.getSelectionModel());
		tableTwo.setAutoResizeMode(tableTwo.AUTO_RESIZE_OFF);
		
		
		scroll=new JScrollPane(tableTwo);
		scroll.setRowHeaderView(tableOne);
	    scroll.setCorner(JScrollPane.UPPER_LEFT_CORNER,tableOne.getTableHeader());
	    
	    scroll.getViewport().setBackground(new Color(255,255,240));
	    scroll.getRowHeader().setBackground(new Color(255,255,240));
	    scroll.getVerticalScrollBar().setForeground(Color.red);
	    tableOne.getTableHeader().setBackground(new Color(255,255,230));
	    tableTwo.getTableHeader().setBackground(new Color(255,255,230));
	    tableOne.getTableHeader().setForeground(new Color(255,0,255));
	    tableTwo.getTableHeader().setForeground(new Color(255,0,255));
	    tableOne.setForeground(new Color(77,199,199));
	    tableTwo.setForeground(new Color(77,199,199));
	    scroll.setBorder(BorderFactory.createLoweredBevelBorder());
	}
 	
}
//formatText
class FormatText
{
	JFormattedTextField ftf;
	FormatText() throws ParseException 
	{
		//DateFormat format =   new SimpleDateFormat("yyyy--MMMM--dd");
		//DateFormatter df = new DateFormatter(format);
		MaskFormatter mf =  new MaskFormatter("####-##-##");
        //mf.setPlaceholderCharacter('_');
        ftf = new   JFormattedTextField(mf);
        
        ftf.setColumns(10);
        ftf.setBackground(Color.orange);
        ftf.setBorder(BorderFactory.createMatteBorder(0,0,1,0,new Color(255,100,255)));
	    
	}
	
}
//介绍信的表格
class LockLetter extends LetterModel
{
	int pushedColumn;
	JButton b;
	
	JTable tableOne,tableTwo;
	JScrollPane scroll;
	DefaultTableCellRenderer renderer;
	LockLetter(String str,int i,int num)
	{
		
		getmodel(str,i);
		tableOne=new JTable(model);
		getmodel(str,i+num);
		tableTwo=new JTable(model2);
	   
	    //tableOne.getTableHeader().setUpdateTableInRealTime(false);
		tableOne.setPreferredScrollableViewportSize(new Dimension(tableOne.getColumnModel().getColumn(0).getPreferredWidth()*num,tableOne.getPreferredSize().height));                                                                                                                                                                                                                                                                    
	    tableOne.setAutoResizeMode(tableOne.AUTO_RESIZE_OFF);
	    
		
		
		tableTwo.setPreferredScrollableViewportSize(new Dimension(475,tableOne.getPreferredSize().height));
		tableTwo.setSelectionModel(tableOne.getSelectionModel());
		tableTwo.setAutoResizeMode(tableTwo.AUTO_RESIZE_OFF);
		
		
		scroll=new JScrollPane(tableTwo);
		scroll.setRowHeaderView(tableOne);
	    scroll.setCorner(JScrollPane.UPPER_LEFT_CORNER,tableOne.getTableHeader());
	    
	   scroll.getViewport().setBackground(new Color(255,255,240));
	    scroll.getRowHeader().setBackground(new Color(255,255,240));
	    scroll.getVerticalScrollBar().setForeground(Color.red);
	    tableOne.getTableHeader().setBackground(new Color(255,255,230));
	    tableTwo.getTableHeader().setBackground(new Color(255,255,230));
	    tableOne.getTableHeader().setForeground(new Color(255,0,255));
	    tableTwo.getTableHeader().setForeground(new Color(255,0,255));
	    tableOne.setForeground(new Color(77,199,199));
	    tableTwo.setForeground(new Color(77,199,199));
	    //scroll.setBorder(BorderFactory.createLoweredBevelBorder());
	}
 	
}
class LetterModel//设置介绍信Model
{
	DefaultTableModel model,model2;
	DataBase base, dbModel2;
    void getmodel(String s,int colBegin)
		{
			base=new DataBase();
		    base.GetResultSet(s);
		    Vector head=new Vector();
		    model=new DefaultTableModel()
		    {
		    	public Class getColumnClass(int col)
		    	{
		    		Vector tep=new Vector();
		    		tep.addElement(Boolean.FALSE);
		    		for(int i=0;i<18;i++)
		    		  tep.addElement(""+i);
		    		return tep.get(col).getClass();  
		    	}
		    	public boolean isCellEditable(int row,int col)
		    	{
		    		if(col==0)
		    		   return true;
		    		else 
		    		   return false;   
		    	}
		    	
		    };
		    
		    try
		    {
		    	for(int i=colBegin;i<base.rsmd.getColumnCount();i++)
			        head.addElement(base.rsmd.getColumnName(i+1));
			    model.setColumnIdentifiers(head);
			    
			    while(base.rs.next())
			    {
			   	    String ss=base.rs.getString(1).toString().trim();
			   	    Vector data=new Vector();
			   	     
			   	    if(ss.equalsIgnoreCase("1"))
			   	       data.addElement(Boolean.TRUE);
			   	    else 
			   	       data.addElement(Boolean.FALSE) ; 
			   	    for(int i=colBegin+1;i<base.rsmd.getColumnCount();i++)
			   	        data.addElement(base.rs.getString(i+1));
			   	    
			   	    model.addRow(data);  
			   	     
			    }   
		    }
		    catch(SQLException e)
		    {
		    	
		    }
		    ////////////////////////////////////
		    try
			{
				dbModel2=new DataBase();
				dbModel2.GetResultSet(s);
			    Vector head2=new Vector();
			    model2=new DefaultTableModel()
			    {
			    	public boolean isCellEditable(int row,int col)
			    	{
			    		return false;
			    	}
			    };
		       	for(int i=colBegin;i<dbModel2.rsmd.getColumnCount();i++)
			        head.addElement(dbModel2.rsmd.getColumnName(i+1));
			         
			    model2.setColumnIdentifiers(head); 
			    while(dbModel2.rs.next())
			    {
			   	    Vector data=new Vector();
			   	    for(int i=colBegin;i<dbModel2.rsmd.getColumnCount();i++)
			   	        data.addElement(dbModel2.rs.getString(i+1));
			   	    model2.addRow(data);   
			    }
			    
			    dbModel2.st.close();
			    }
			    catch(SQLException e){}
	    }

}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -