📄 letter.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;
//介绍信窗口
class Letter extends LetterModel implements MouseListener, DocumentListener
{
//总面板
JPanel pane;
//介绍信工具条
JToolBar barLetter;
JLabel[] lblTool=new JLabel[8];
//介绍信明细面板
JPanel paneLetter;
JLabel[] lblMinxi=new JLabel[18];
JTextField[] txtMinxi=new JTextField[16];
JLabel lblTitle;
//简单查询面板
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];
LockLetter lockMore;
JLabel lblBack;
//构造函数
Letter()
{
//初始化工具条
barLetter=new JToolBar();
barLetter.setBorder(BorderFactory.createLoweredBevelBorder());
barLetter.setBackground(new Color(196,255,196));
barLetter.setFloatable(false);
barLetter.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)
barLetter.addSeparator();
barLetter.add(lblTool[i]);
barLetter.add(t);
}
lblTool[5].setEnabled(false);
//介绍信明细面板初始化
lblTitle=new JLabel("介绍信");
lblTitle.setFont(new Font("隶书",Font.BOLD,30));
lblTitle.setForeground(new Color(89,89,255));
lblMinxi[0]=new JLabel("编号:");
lblMinxi[1]=new JLabel(" 兹介绍");
lblMinxi[2]=new JLabel("同志,身份证:");
lblMinxi[3]=new JLabel("性别:");
lblMinxi[4]=new JLabel("出生年月:");
lblMinxi[5]=new JLabel("学历:");
lblMinxi[6]=new JLabel("所学专业:");
lblMinxi[7]=new JLabel("籍贯:");
lblMinxi[8]=new JLabel("前 往 贵 处");
lblMinxi[9]=new JLabel("应 聘");
lblMinxi[10]=new JLabel("岗位,工资:");
lblMinxi[11]=new JLabel("其他待遇:");
lblMinxi[12]=new JLabel("具体事项由双方订立《劳动合同》时商定,请给予接洽为荷!");
lblMinxi[13]=new JLabel("单位:");
lblMinxi[14]=new JLabel("地址:");
lblMinxi[15]=new JLabel("电话:");
lblMinxi[16]=new JLabel("联系人:");
lblMinxi[17]=new JLabel("介绍日期:");
for(int i=0;i<18;i++)
{
if(i==0)
lblMinxi[i].setForeground(Color.red);
else
lblMinxi[i].setForeground(new Color(193,132,255));
}
for(int i=0;i<16;i++)
{
txtMinxi[i]=new JTextField(10);
if(i==2||i==5||i==6||i==9||i==10)
txtMinxi[i]=new JTextField(15);
if(i==7||i==11||i==12)
txtMinxi[i]=new JTextField(40);
if(i==13)
txtMinxi[i]=new JTextField(30);
txtMinxi[i].setBackground(new Color(255,255,240));
if(i==0)
{
txtMinxi[i].setBorder(BorderFactory.createMatteBorder(0,0,1,0,Color.red));
}
else
txtMinxi[i].setBorder(BorderFactory.createMatteBorder(0,0,1,0,Color.blue));
}
//初始化介绍信面板
paneLetter=new JPanel();
paneLetter.setBackground(new Color(255,255,240));
paneLetter.setBorder(BorderFactory.createLoweredBevelBorder());
paneLetter.setLayout(new GridBagLayout());
GridBagConstraints c=new GridBagConstraints();
//介绍信面板加入控件
c.gridx=0;
c.gridy=0;
c.gridwidth=6;
c.gridheight=1;
c.insets=new Insets(8,0,8,8);
paneLetter.add(lblTitle,c);
//第二行
c.gridwidth=5;
c.anchor=GridBagConstraints.EAST;
c.gridy++;
paneLetter.add(lblMinxi[0],c);
c.gridx++;
c.gridwidth=6;
paneLetter.add(txtMinxi[0],c);
//第三行
c.gridwidth=1;
c.anchor=GridBagConstraints.WEST;
c.gridx=0;
c.gridy++;
paneLetter.add(lblMinxi[1],c);
c.gridx++;
paneLetter.add(txtMinxi[1],c);
c.gridx++;
paneLetter.add(lblMinxi[2],c);
c.gridx++;
paneLetter.add(txtMinxi[2],c);
c.anchor=GridBagConstraints.EAST;
c.gridx++;
paneLetter.add(lblMinxi[3],c);
c.gridx++;
paneLetter.add(txtMinxi[3],c);
//第四行
c.anchor=GridBagConstraints.WEST;
c.gridy++;
c.gridx=0;
paneLetter.add(lblMinxi[4],c);
c.gridx++;
paneLetter.add(txtMinxi[4],c);
c.gridx++;
paneLetter.add(lblMinxi[5],c);
c.gridx++;
paneLetter.add(txtMinxi[5],c);
c.gridx++;
paneLetter.add(lblMinxi[6],c);
c.gridx++;
paneLetter.add(txtMinxi[6],c);
//第五行
c.gridy++;
c.gridx=0;
paneLetter.add(lblMinxi[7],c);
c.gridx++;
c.gridwidth=4;
c.anchor=GridBagConstraints.EAST;
paneLetter.add(txtMinxi[7],c);
c.gridwidth=6;
c.anchor=GridBagConstraints.EAST;
paneLetter.add(lblMinxi[8],c);
//第六行
c.anchor=GridBagConstraints.WEST;
c.gridx=0;
c.gridy++;
paneLetter.add(lblMinxi[9],c);
c.gridx++;
paneLetter.add(txtMinxi[8],c);
c.gridx++;
paneLetter.add(lblMinxi[10],c);
c.gridx++;
paneLetter.add(txtMinxi[9],c);
c.gridx++;
paneLetter.add(lblMinxi[11],c);
c.gridx++;
c.anchor=GridBagConstraints.EAST;
paneLetter.add(txtMinxi[10],c);
//第七行
c.gridx=0;
c.gridy++;
c.anchor=GridBagConstraints.WEST;
paneLetter.add(lblMinxi[12],c);
//第八行
c.gridy++;
paneLetter.add(lblMinxi[13],c);
c.gridx++;
paneLetter.add(txtMinxi[11],c);
//第九行
c.gridx=0;
c.gridy++;
paneLetter.add(lblMinxi[14],c);
c.gridx++;
paneLetter.add(txtMinxi[12],c);
//第十行
c.gridx=0;
c.gridy++;
paneLetter.add(lblMinxi[15],c);
c.gridx++;
c.gridwidth=3;
paneLetter.add(txtMinxi[13],c);
c.gridwidth=4;
c.anchor=GridBagConstraints.EAST;
paneLetter.add(lblMinxi[16],c);
c.gridwidth=6;
paneLetter.add(txtMinxi[14],c);
//第十一行
c.gridx=0;
c.gridy++;
c.anchor=GridBagConstraints.WEST;
paneLetter.add(lblMinxi[17],c);
c.gridx++;
paneLetter.add(txtMinxi[15],c);
//简单查询面板
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++;
paneLetter.add(paneSimple,c);
//总面板初始化
pane=new JPanel();
pane.setLayout(new BorderLayout());
pane.add(barLetter,BorderLayout.WEST);
pane.add(paneLetter,BorderLayout.CENTER);
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,Color.blue));
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 LockLetter("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();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=2;i<=db.rsmd.getColumnCount();i++)
txtMinxi[i-2].setText(db.rs.getString(i));
db.st.close();
}catch(SQLException e){}
}
public void mouseClicked(MouseEvent parm1)
{
//表格复选框代码
if(parm1.getClickCount()==1&&parm1.getSource()==lockMore.tableOne)
{
Point pt=parm1.getPoint();//得到鼠标坐标
int row=lockMore.tableOne.rowAtPoint(pt);//得到该坐标表格行号
String tstr=lockMore.tableOne.getValueAt(row,0).toString().trim();
String tname=lockMore.tableOne.getValueAt(row,1).toString();
if(tstr=="true")
{
DataBase dt=new DataBase();
try
{
dt.GetResultSet("select * from 介绍信 ");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -