📄 people.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.text.*;
import javax.swing.text.*;
import java.sql.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.util.Vector;
import javax.swing.filechooser.*;
import java.io.*;
class People extends ModleTable implements MouseListener, DocumentListener
{
//总面板
JPanel pane;
JFileChooser chooser;
////人才信息工具条
JToolBar barPeople;
JLabel[] lblTool=new JLabel[8];
//人才信息面板
JPanel panePeople,pane1,pane2;
JLabel[] lblPeople=new JLabel[20];
JTextField[] txtPeople=new JTextField[16];
JTextArea[] areaPeople=new JTextArea[4];
JLabel lblImage;
//简单查询面板
JPanel paneSimple;
Choice choiceSimple;
JTextField txtSimple;
JLabel lblSimple,lblMore;
//人才列表面板
JPanel paneTable,paneTableSearch;
JToolBar[] barTable=new JToolBar[2];
Choice[] choice=new Choice[3];
JLabel[] lblTable=new JLabel[2];
JTextField[] txtTable=new JTextField[2];
LockTableModel lockMore;
JLabel lblBack;
//构造函数
People()
{
//人才信息面板初始化
panePeople=new JPanel();
lblImage=new JLabel("");
lblImage.addMouseListener(this);
lblImage.setIcon(new ImageIcon("pic/null.jpg"));
lblImage.setBackground(Color.red);
lblImage.setBorder(BorderFactory.createMatteBorder(1,1,1,1,new Color(193,132,255)));
lblPeople[0]=new JLabel("编号");
lblPeople[1]=new JLabel("姓名");
lblPeople[2]=new JLabel("身份证号码");
lblPeople[3]=new JLabel("出生年月");
lblPeople[4]=new JLabel("文化程度");
lblPeople[5]=new JLabel("政治面貌");
lblPeople[6]=new JLabel("婚姻");
lblPeople[7]=new JLabel("身高");
lblPeople[8]=new JLabel("体重");
lblPeople[9]=new JLabel("视力");
lblPeople[10]=new JLabel("专业");
lblPeople[11]=new JLabel("户籍");
lblPeople[12]=new JLabel("联系电话");
lblPeople[13]=new JLabel("家庭住址");
lblPeople[14]=new JLabel("登记日期");
lblPeople[15]=new JLabel("登记日期");
lblPeople[16]=new JLabel("学习经历");
lblPeople[17]=new JLabel("个人特长");
lblPeople[18]=new JLabel("工作经历");
lblPeople[19]=new JLabel("备注");
for(int i=0;i<20;i++)
{
lblPeople[i].setForeground(new Color(193,132,255));
}
for(int i=0;i<16;i++)
{
if(i==0||i==1||i==3||i==4||i==6||i==7||i==15)
txtPeople[i]=new JTextField(10);
else
txtPeople[i]=new JTextField(15);
txtPeople[i].setBackground(new Color(255,255,240));
txtPeople[i].setBorder(BorderFactory.createMatteBorder(0,0,1,0,Color.blue));
}
for(int i=0;i<4;i++)
{
areaPeople[i]=new JTextArea(3,55);
areaPeople[i].setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.blue));
areaPeople[i].setBackground(new Color(255,255,240));
}
/////////
pane1=new JPanel();
pane1.setLayout(new GridBagLayout());
GridBagConstraints c1=new GridBagConstraints();
c1.gridy=0;
c1.insets=new Insets(5,0,5,5);
pane1.add(lblPeople[0],c1);
pane1.add(txtPeople[0],c1);
pane1.add(lblPeople[1],c1);
pane1.add(txtPeople[1],c1);
pane1.add(lblPeople[2],c1);
pane1.add(txtPeople[2],c1);
c1.gridy++;
pane1.add(lblPeople[3],c1);
pane1.add(txtPeople[3],c1);
pane1.add(lblPeople[4],c1);
pane1.add(txtPeople[4],c1);
pane1.add(lblPeople[5],c1);
pane1.add(txtPeople[5],c1);
c1.gridy+=8;
c1.gridy++;
pane1.add(lblPeople[6],c1);
pane1.add(txtPeople[6],c1);
pane1.add(lblPeople[7],c1);
pane1.add(txtPeople[7],c1);
pane1.add(lblPeople[8],c1);
pane1.add(txtPeople[8],c1);
///////////////////////////////
//////////////////////////////
pane2=new JPanel();
pane2.setLayout(new GridBagLayout());
GridBagConstraints c2=new GridBagConstraints();
c2.gridy=0;
c2.insets=new Insets(5,0,5,5);
pane2.add(lblPeople[9],c2);
pane2.add(txtPeople[9],c2);
pane2.add(lblPeople[10],c2);
pane2.add(txtPeople[10],c2);
pane2.add(lblPeople[11],c2);
pane2.add(txtPeople[11],c2);
c2.gridy++;
pane2.add(lblPeople[12],c2);
pane2.add(txtPeople[12],c2);
pane2.add(lblPeople[13],c2);
pane2.add(txtPeople[13],c2);
pane2.add(lblPeople[14],c2);
pane2.add(txtPeople[14],c2);
c2.gridy++;
pane2.add(lblPeople[16],c2);
c2.gridwidth=5;
pane2.add(areaPeople[0],c2);
c2.gridy++;
c2.gridwidth=1;
pane2.add(lblPeople[17],c2);
c2.gridwidth=5;
pane2.add(areaPeople[1],c2);
c2.gridy++;
c2.gridwidth=1;
pane2.add(lblPeople[18],c2);
c2.gridwidth=5;
pane2.add(areaPeople[2],c2);
c2.gridy++;
c2.gridwidth=1;
pane2.add(lblPeople[19],c2);
c2.gridwidth=5;
pane2.add(areaPeople[3],c2);
///////////////////////////////////
//////////////////////////////////
panePeople=new JPanel();
panePeople.setLayout(new GridBagLayout());
GridBagConstraints c=new GridBagConstraints();
c.gridy=0;
panePeople.add(pane1,c);
panePeople.add(lblImage,c);
c.gridy++;
c.gridwidth=2;
panePeople.add(pane2,c);
//工具条
//初始化工具条
barPeople=new JToolBar();
barPeople.setBorder(BorderFactory.createLoweredBevelBorder());
barPeople.setBackground(new Color(196,255,196));
barPeople.setFloatable(false);
barPeople.setOrientation(JToolBar.VERTICAL);
lblTool[0]=new JLabel("首条记录");
lblTool[1]=new JLabel("末条记录");
lblTool[2]=new JLabel("前条记录");
lblTool[3]=new JLabel("后条记录");
lblTool[4]=new JLabel("新增记录");
lblTool[5]=new JLabel("保存记录");
lblTool[6]=new JLabel("更新记录");
lblTool[7]=new JLabel("删除记录");
//工具条加入按钮
for(int i=0;i<8;i++)
{
lblTool[i].addMouseListener(this);
if(i<4)
lblTool[i].setIcon(new ImageIcon("img/tool.gif"));
else
lblTool[i].setIcon(new ImageIcon("img/edit.gif"));
lblTool[i].setForeground(new Color(148,139,253));
JTextField t=new JTextField(2);
t.setBackground(new Color(239,251,198));
t.setEditable(false);
t.setBorder(BorderFactory.createMatteBorder(0,0,0,0,Color.red));
if(i==0)
barPeople.addSeparator();
barPeople.add(lblTool[i]);
barPeople.add(t);
}
lblTool[5].setEnabled(false);
//简单查询面板
paneSimple=new JPanel();
paneSimple.setLayout(new FlowLayout());
paneSimple.setBackground(new Color(255,255,240));
paneSimple.setBorder(BorderFactory.createMatteBorder(1,0,1,0,Color.red));
lblSimple=new JLabel("简单查询");
lblSimple.setForeground(Color.orange);
lblMore=new JLabel(" 更多条件查询");
lblMore.setForeground(Color.blue);
lblMore.setIcon(new ImageIcon("img/more.gif"));
lblMore.addMouseListener(this);
//lblMore.setHorizontalAlignment(SwingConstants.RIGHT);
lblMore.setHorizontalTextPosition(SwingConstants.LEFT);
choiceSimple=new Choice();
choiceSimple.addItem("编号");
choiceSimple.addItem("姓名");
txtSimple=new JTextField(20);
txtSimple.setBackground(new Color(255,255,240));
txtSimple.getDocument().addDocumentListener(this);
txtSimple.setBorder(BorderFactory.createMatteBorder(0,0,1,0,Color.blue));
paneSimple.add(lblSimple);
paneSimple.add(choiceSimple);
paneSimple.add(txtSimple);
paneSimple.add(lblMore);
c.gridy++;
panePeople.add(paneSimple,c);
//总面板
pane=new JPanel();
pane.setLayout(new BorderLayout());
pane.add(barPeople,BorderLayout.WEST);
pane.add(panePeople,BorderLayout.CENTER);
//
panePeople.setBackground(new Color(255,255,240));
pane1.setBackground(new Color(255,255,240));
pane2.setBackground(new Color(255,255,240));
panePeople.setBorder(BorderFactory.createLoweredBevelBorder());
getinfo(1);
//人才列表面板
///////////////////////
paneTableSearch=new JPanel();
paneTableSearch.setBackground(Color.orange);
paneTableSearch.setLayout(new FlowLayout());
lblTable[0]=new JLabel("一级查询");
lblTable[1]=new JLabel("二级查询");
for(int i=0;i<3;i++)
{
choice[i]=new Choice();
if(i!=1)
setchoice(choice[i],"select * from 人才登记");
else
{
choice[i].addItem("OR");
choice[i].addItem("AND");
}
choice[i].setForeground(new Color(89,89,255));
}
for(int i=0;i<2;i++)
{
lblTable[i].setForeground(new Color(89,89,255));
barTable[i]=new JToolBar();
barTable[i].setBackground(Color.orange);
barTable[i].setBorder(null);
barTable[i].setFloatable(false);
JTextField t=new JTextField(10);
t.setBorder(BorderFactory.createMatteBorder(0,4,0,4,Color.orange));
t.setBackground(new Color(255,255,240));
t.setEditable(false);
barTable[i].add(t);
txtTable[i]=new JTextField(10);
txtTable[i].setBorder(BorderFactory.createMatteBorder(0,0,1,0,new Color(89,89,255)));
txtTable[i].setBackground(Color.orange);
txtTable[i].getDocument().addDocumentListener(this);
}
paneTableSearch.add(lblTable[0]);
paneTableSearch.add(choice[0]);
paneTableSearch.add(txtTable[0]);
paneTableSearch.add(choice[1]);
paneTableSearch.add(lblTable[1]);
paneTableSearch.add(choice[2]);
paneTableSearch.add(txtTable[1]);
lblBack=new JLabel("返回上一页");
lblBack.setIcon(new ImageIcon("img/more.gif"));
lblBack.addMouseListener(this);
lblBack.setForeground(Color.red);
paneTableSearch.add(lblBack);
paneTable=new JPanel();
paneTable.setLayout(new BorderLayout());
paneTable.add(barTable[0],BorderLayout.WEST);
paneTable.add(paneTableSearch,BorderLayout.NORTH);
lockMore=new LockTableModel("select * from 人才登记",0,3);
lockMore.tableOne.addMouseListener(this);
lockMore.tableTwo.addMouseListener(this);
paneTable.add(lockMore.scroll,BorderLayout.CENTER);
paneTable.add(barTable[1],BorderLayout.EAST);
}
//set choice
void setchoice(Choice c,String str)
{
DataBase db=new DataBase();
db.GetResultSet(str);
try
{
for(int i=0;i<db.rsmd.getColumnCount()-1;i++)
c.addItem(db.rsmd.getColumnName(i+1));
db.st.close();
}catch(SQLException e){}
}
//读取人才信息
void getinfo(int row)
{
DataBase db=new DataBase();
db.GetResultSet("select * from 人才登记");
try
{
db.rs.absolute(row);
for(int i=0;i<db.rsmd.getColumnCount()-4;i++)
txtPeople[i].setText(db.rs.getString(i+1));
for(int i=0;i<4;i++)
areaPeople[i].setText(db.rs.getString(db.rsmd.getColumnCount()-4+i));
String s=db.rs.getString(db.rsmd.getColumnCount());
ImageIcon ico=new ImageIcon(s);
lblImage.setIcon(ico);
db.st.close();
}catch(SQLException e){}
}
//清空记录
void clear()
{
for(int i=0;i<16;i++)
txtPeople[i].setText("");
for(int i=0;i<4;i++)
areaPeople[i].setText("");
lblImage.setIcon(new ImageIcon("pic/null.jpg"));
lblTool[5].setEnabled(true);
lblTool[6].setEnabled(false);
}
public void mouseClicked(MouseEvent parm1)
{
//表格选中行的显示代码
try
{
if(parm1.getClickCount()==2&&(parm1.getSource()==lockMore.tableTwo||parm1.getSource()==lockMore.tableOne))
{
Point pt=parm1.getPoint();
int row=lockMore.tableOne.rowAtPoint(pt);
String s=lockMore.tableOne.getValueAt(row,0).toString();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -