📄 dbcontroler.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class DBControler implements ActionListener,ListSelectionListener{
DBView view;
DBModel model;
final static int DELETE=0;
final static int QUERY=1;
final static int UPDATE=2;
final static int INSERT=3;
boolean isTinfo=true;
String mainString="欢迎访问教职工管理系统-v1.0 开发者:杨国东";
ListSelectionModel listModel=null;
int []row=null;
int []column=null;
public DBControler(){
view=new DBView();
model=new DBModel();
model.addObserver(view);
///////////////////////// add ListSelectionModel
listModel=view.jtable.getSelectionModel();
listModel.addListSelectionListener(this);
listModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//////add ActionListener for menu and button
view.jb_del.addActionListener(this);
view.jb_ins.addActionListener(this);
view.jb_upd.addActionListener(this);
view.jb_que.addActionListener(this);
view.jm_tinfo.addActionListener(this);
view.jm_twage.addActionListener(this);
view.pop_que.addActionListener(this);
view.pop_ins.addActionListener(this);
view.pop_upd.addActionListener(this);
view.pop_del.addActionListener(this);
view.jm_exit.addActionListener(this);
view.jm_check.addActionListener(this);
view.jm_query.addActionListener(this);
//view.jtable.setCellSelectionEnabled(true);
//view.jtable.setRowSelectionAllowed(true);
view.jtable.setColumnSelectionAllowed(false);
view.setVisible(true);
view.setTitle(mainString);
}
////////
//THIS WINDOW IS TO SHOW THE OPERATION OF THE DATA TABEL
////////////////////////////////////////////////////
public void valueChanged(ListSelectionEvent e) {
row=view.jtable.getSelectedRows();
column=view.jtable.getSelectedColumns();
}
public void deleteRows(){
long no;
try{
no=Long.parseLong(view.jtable.getValueAt(row[0], 0).toString());
//JOptionPane.showMessageDialog(null, row[0]+" "+column[0]) ;
}catch(NumberFormatException nunException ){
return;
}
if(isTinfo){
model.delete(no, "", "", "", -1, -1, "", "", "");
}
else
model.delete(no, "", -1, -1, -1);
}
public void updateRows(){
//long no=Long.parseLong(view.jtable.getValueAt(row[0], column[0]).toString());
TinfoFrame info=new TinfoFrame(UPDATE);
info.setVisible(true);
info.setTitle(mainString+"update");
/////////////////////////////////
if(this.isTinfo){
info.setTinfoComEnable();
int i=0;
try{
info.jtf_oldNo.setText(view.jtable.getValueAt(row[0], i).toString());
info.jtf_no.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_name.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_sex.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_dept.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_age.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_worktime.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_pro.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_cla.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_expe.setText(view.jtable.getValueAt(row[0], i++).toString());
}catch(Exception eee){}
}
else {
info.setTwageComEnable();
int i=0;
try{
info.jtf_oldNo.setText(view.jtable.getValueAt(row[0], i).toString());
info.jtf_no.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_name.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_wage.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_oth.setText(view.jtable.getValueAt(row[0], i++).toString());
info.jtf_mon.setText(view.jtable.getValueAt(row[0], i++).toString());
}catch(Exception eee){}
}
info.jtf_oldNo.setEditable(false);
}
class TinfoFrame extends JFrame implements ActionListener{
int type=0;
JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8,jl9,jl10,jl11,jl12,jl13;
JTextField jtf_no,jtf_name,jtf_sex,jtf_dept,jtf_age,jtf_worktime,jtf_pro,jtf_cla,jtf_expe,jtf_oldNo;
JTextField jtf_wage,jtf_oth,jtf_mon;
JButton jb_ok,jb_reset;
public TinfoFrame(int type){
this.type=type;
/////////GUI Setting
jl1=new JLabel("oldNo(原编号)");jtf_oldNo=new JTextField("",10);
jl2=new JLabel("no(编号)");jtf_no=new JTextField("",10);
jl3=new JLabel("name(姓名)");jtf_name=new JTextField("",10);
jl4=new JLabel("sex(性别)");jtf_sex=new JTextField("",10);
jl5=new JLabel("dept(部门)");jtf_dept=new JTextField("",10);
jl6=new JLabel("age(年龄)");jtf_age=new JTextField("",10);
jl7=new JLabel("worktime(工作时间)");jtf_worktime=new JTextField("",10);
jl8=new JLabel("pro(职务)");jtf_pro=new JTextField("",10);
jl9=new JLabel("cla(职称)");jtf_cla=new JTextField("",10);
jl10=new JLabel("expe(简历)");jtf_expe=new JTextField("",10);
jl11=new JLabel("basic wage(基本工资)");jtf_wage=new JTextField("",10);
jl12=new JLabel("othwage(其他工资)");jtf_oth=new JTextField("",10);
jl13=new JLabel("monwage(月收入)");jtf_mon=new JTextField("",10);
jb_ok=new JButton("ok");jb_reset=new JButton("reset");
jtf_oldNo.setEditable(false);
Container jp=this.getContentPane();
jp.setLayout(new GridLayout(15,2));
jp.add(jl1);jp.add(jtf_oldNo);
jp.add(jl2);jp.add(jtf_no);
jp.add(jl3);jp.add(jtf_name);
jp.add(jl4);jp.add(jtf_sex);
jp.add(jl5);jp.add(jtf_dept);
jp.add(jl6);jp.add(jtf_age);
jp.add(jl7);jp.add(jtf_worktime);
jp.add(jl8);jp.add(jtf_pro);
jp.add(jl9);jp.add(jtf_cla);
jp.add(jl10);jp.add(jtf_expe);
jp.add(jl11);jp.add(jtf_wage);
jp.add(jl12);jp.add(jtf_oth);
jp.add(jl13);jp.add(jtf_mon);
jp.add(jb_ok);jp.add(jb_reset);
jb_ok.addActionListener(this);
jb_reset.addActionListener(this);
init();
//////////////////////
pack();
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("ok")){
long oldNo = -1;
long no=-1;
try{
if(!jtf_oldNo.getText().equals(""))
oldNo=Long.parseLong(jtf_oldNo.getText());
if(!jtf_no.getText().equals(""))
no=Long.parseLong(jtf_no.getText());
}catch(NumberFormatException e1){
JOptionPane.showMessageDialog(this, e1.getMessage());
}
//long oldNo=Long.parseLong(jtf_oldNo.getText());
String name=jtf_name.getText();
String sex=jtf_sex.getText();
int age=-1;
try{
if(!jtf_age.getText().equals(""))
age=Integer.parseInt(jtf_age.getText());
}catch(NumberFormatException e2){
JOptionPane.showMessageDialog(this, e2.toString());
}
String dept=jtf_dept.getText();
int worktime=-1;
double wage,othwage,monwage;
wage=othwage=monwage=-1;
try{
if(!jtf_worktime.getText().equals(""))
worktime=Integer.parseInt(jtf_worktime.getText());
if(!jtf_wage.getText().equals(""))
wage=Double.parseDouble(jtf_wage.getText());
if(!jtf_oth.getText().equals(""))
othwage=Double.parseDouble(jtf_oth.getText());
if(!jtf_mon.getText().equals(""))
monwage=Double.parseDouble(jtf_mon.getText());
}catch(NumberFormatException e2){
JOptionPane.showMessageDialog(this, e2.toString());
}
//JOptionPane.showMessageDialog(null, ""+wage);
String pro=jtf_pro.getText();
String cla=jtf_pro.getText();
String expe=jtf_expe.getText();
if(type==DELETE){
if(isTinfo)
model.delete(no, name, sex, dept, age, worktime, pro, cla, expe);
else{
//JOptionPane.showMessageDialog(null, "model.delete(no, name, wage, othwage, monwage)"+wage);
model.delete(no, name, wage, othwage, monwage);
}
//model.delete(no, name, wage, othwage, monwage);
}
else if(type==INSERT){
if(isTinfo)
model.insert(no, name, sex, dept, age, worktime, pro, cla, expe);
else
model.insert(no, name, wage, othwage, monwage);
}
else if(type==UPDATE){
if(isTinfo)
model.update(oldNo, no, name, sex, dept, age, worktime, pro, cla, expe);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -