📄 baseclass.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 + -