java练习Mini学生管理系统model2.docx

上传人:b****9 文档编号:23404503 上传时间:2023-05-16 格式:DOCX 页数:23 大小:774.38KB
下载 相关 举报
java练习Mini学生管理系统model2.docx_第1页
第1页 / 共23页
java练习Mini学生管理系统model2.docx_第2页
第2页 / 共23页
java练习Mini学生管理系统model2.docx_第3页
第3页 / 共23页
java练习Mini学生管理系统model2.docx_第4页
第4页 / 共23页
java练习Mini学生管理系统model2.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

java练习Mini学生管理系统model2.docx

《java练习Mini学生管理系统model2.docx》由会员分享,可在线阅读,更多相关《java练习Mini学生管理系统model2.docx(23页珍藏版)》请在冰豆网上搜索。

java练习Mini学生管理系统model2.docx

java练习Mini学生管理系统model2

Mini学生管理系统model2

框架图:

代码:

1.1

/**

*1.1model2,主界面

*1.2model2添加学生

*1.3model2,修改学生

*1.4model2,数据模型

*/

packagecom.test2;

importjavax.swing.*;

importjava.awt.*;

importjava.sql.*;

importjava.util.*;

importjava.awt.event.*;

publicclassStumanageextendsJFrameimplementsActionListener

{

//定义一些控件

JPaneljp1=null,jp2=null;

JLabeljl1;

JButtonjb1,jb2,jb3,jb4;

JTablejt;

JScrollPanejsp;

JTextFieldjtf;

StuModelsm;

publicstaticvoidmain(String[]args)

{

Stumanagetest3=newStumanage();

//System.out.println("guole");

}

publicStumanage()

{

jb1=newJButton("查询");

//jb1.setActionCommand("想查询");

jb1.addActionListener(this);

jb2=newJButton("添加");

jb2.addActionListener(this);

jb3=newJButton("修改");

jb3.addActionListener(this);

jb4=newJButton("删除");

jb4.addActionListener(this);

jl1=newJLabel("请输入姓名");

jtf=newJTextField(10);

jp1=newJPanel();

jp2=newJPanel();

jp1.add(jl1);

jp1.add(jtf);

jp1.add(jb1);

jp2.add(jb2);

jp2.add(jb3);

jp2.add(jb4);

//创建一个数据模型对象

sm=newStuModel();

//初始化JTable

jt=newJTable(sm);

//初始化jspJScrollPane

jsp=newJScrollPane(jt);

this.add(jp1,"North");//大小写不能瞎写啊

this.add(jp2,"South");//大小写不能瞎写啊

//把jsp放入到jframe

this.add(jsp);

this.setSize(400,300);

this.setVisible(true);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==jb1)

{

//System.out.println("想查询");

//对表操作

Stringname=this.jtf.getText().trim();//trim把控制字符串过滤一下

Stringsql="select*fromstuwherestuName='"+name+"'";

sm=newStuModel();

jt.setModel(sm);//重点!

}

if(e.getSource()==jb2)

{

StuAddDialogstuadddialog=newStuAddDialog(this,"添加学生",true);//必须是模式对话框!

//添加完了以后要重新获得新的数据模型

sm=newStuModel();

jt.setModel(sm);//更新对话框,注意是重点!

}

if(e.getSource()==jb3)

{

//用户希望修改

introwNums=this.jt.getSelectedRow();

if(rowNums==-1)

{

JOptionPane.showMessageDialog(this,"请选择一行");

return;

}

//显示对话框

newStuUpdDialog(this,"修改信息",true,sm,rowNums);

sm=newStuModel();

jt.setModel(sm);//更新对话框,注意是重点!

}

if(e.getSource()==jb4)

{

//说明用户希望删除对象

//得到该学生的ID

//如果没有选择就返回了-1

introwNum=this.jt.getSelectedRow();

ResultSetrs=null;

if(rowNum==-1)

{

JOptionPane.showMessageDialog(this,"请选择一行");

return;

}

Stringsql="deletefromstuwherestuId=?

";

//得到学生编号

StringstuId=sm.getValueAt(rowNum,0).toString();

Stringparas[]={stuId};

StuModelstumodel=newStuModel(sql,paras);

sm=newStuModel();

jt.setModel(sm);//更新对话框,注意是重点!

}

}

}

//-----------------------------------------

1.2

/**

*model2添加学生

*/

packagecom.test2;

importjava.awt.BorderLayout;

importjava.awt.Frame;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.Vector;

importjavax.swing.*;

publicclassStuAddDialogextendsJDialogimplementsActionListener

{

//定义需要的swing组件

JLabeljl1,jl2,jl3,jl4,jl5,jl6;

JTextFieldjt1,jt2,jt3,jt4,jt5,jt6;

JButtonjb1,jb2;

JPaneljp1,jp2,jp3;

//

publicStuAddDialog(Frameowner,Stringtitle,booleanmodel)//分别是拥有者,标题,模式(true为模式,false为非模式)

{

super(owner,title,model);//调用父类构造方法,达到模式对话框效果

jl1=newJLabel("学号");

jl2=newJLabel("姓名");

jl3=newJLabel("性别");

jl4=newJLabel("年龄");

jl5=newJLabel("籍贯");

jl6=newJLabel("系别");

jt1=newJTextField();

jt2=newJTextField();

jt3=newJTextField();

jt4=newJTextField();

jt5=newJTextField();

jt6=newJTextField();

jb1=newJButton("添加");

jb1.addActionListener(this);

jb2=newJButton("取消");

jb2.addActionListener(this);

jp1=newJPanel();

jp2=newJPanel();

jp3=newJPanel();

jp1.add(jl1);

jp1.add(jl2);

jp1.add(jl3);

jp1.add(jl4);

jp1.add(jl5);

jp1.add(jl6);

jp2.add(jt1);

jp2.add(jt2);

jp2.add(jt3);

jp2.add(jt4);

jp2.add(jt5);

jp2.add(jt6);

jp1.setLayout(newGridLayout(6,1));

jp2.setLayout(newGridLayout(6,1));

jp3.add(jb1);

jp3.add(jb2);

this.add(jp3,BorderLayout.SOUTH);

this.add(jp1,BorderLayout.WEST);

this.add(jp2,BorderLayout.CENTER);

this.setSize(300,200);

this.setVisible(true);

//this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

//this.setLocationRelativeTo(null);

}

@Override

publicvoidactionPerformed(ActionEvente)

{

//TODOAuto-generatedmethodstub

if(e.getSource()==jb1)

{

//希望添加

Stringsql="insertintostuvalues(?

?

?

?

?

?

)";

Stringparas[]={jt1.getText(),jt2.getText(),jt3.getText(),jt4.getText(),jt5.getText(),jt6.getText()};

//temp.addStu(sql,paras);

StuModeltemp=newStuModel(sql,paras);

if((temp.tmp)!

=1)

{

JOptionPane.showMessageDialog(this,"添加错误");

}

//关闭对话框

JOptionPane.showMessageDialog(this,"添加成功");

this.dispose();

}

if(e.getSource()==jb2)

{

this.dispose();

}

}

}

//--------------------------------------------------------------------------------------------------

1.3

/**

*model2,修改学生

*

*/

packagecom.test2;

importjava.awt.BorderLayout;

importjava.awt.Frame;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.Vector;

importjavax.swing.*;

publicclassStuUpdDialogextendsJDialogimplementsActionListener

{

//定义需要的swing组件

JLabeljl1,jl2,jl3,jl4,jl5,jl6;

JTextFieldjt1,jt2,jt3,jt4,jt5,jt6;

JButtonjb1,jb2;

JPaneljp1,jp2,jp3;

//

publicStuUpdDialog(Frameowner,Stringtitle,booleanmodel,StuModelsm,introwNums)

{

super(owner,title,model);//调用父类构造方法,达到模式对话框效果

jl1=newJLabel("学号");

jl2=newJLabel("姓名");

jl3=newJLabel("性别");

jl4=newJLabel("年龄");

jl5=newJLabel("籍贯");

jl6=newJLabel("系别");

jt1=newJTextField();

//初始化数据

jt1.setText((String)sm.getValueAt(rowNums,0));

//让jt1不可以修改

jt1.setEditable(false);

jt2=newJTextField();

jt2.setText((String)sm.getValueAt(rowNums,1));

jt3=newJTextField();

jt3.setText((String)sm.getValueAt(rowNums,2));

jt4=newJTextField();

jt4.setText(sm.getValueAt(rowNums,3).toString());//

jt5=newJTextField();

jt5.setText((String)sm.getValueAt(rowNums,4));

jt6=newJTextField();

jt6.setText((String)sm.getValueAt(rowNums,5));

jb1=newJButton("修改");

jb1.addActionListener(this);

jb2=newJButton("取消");

jb2.addActionListener(this);

jp1=newJPanel();

jp2=newJPanel();

jp3=newJPanel();

jp1.add(jl1);

jp1.add(jl2);

jp1.add(jl3);

jp1.add(jl4);

jp1.add(jl5);

jp1.add(jl6);

jp2.add(jt1);

jp2.add(jt2);

jp2.add(jt3);

jp2.add(jt4);

jp2.add(jt5);

jp2.add(jt6);

jp1.setLayout(newGridLayout(6,1));

jp2.setLayout(newGridLayout(6,1));

jp3.add(jb1);

jp3.add(jb2);

this.add(jp3,BorderLayout.SOUTH);

this.add(jp1,BorderLayout.WEST);

this.add(jp2,BorderLayout.CENTER);

this.setSize(300,200);

this.setVisible(true);

}

@Override

publicvoidactionPerformed(ActionEvente)

{

//TODOAuto-generatedmethodstub

if(e.getSource()==jb1)

{

Stringsql="updatestusetstuName=?

stuSex=?

stuAge=?

stuJp=?

stuDept=?

wherestuId=?

";

Stringparas[]={jt2.getText(),jt3.getText(),jt4.getText(),jt5.getText(),jt6.getText(),jt1.getText()};

StuModelstumodel=newStuModel(sql,paras);

JOptionPane.showMessageDialog(this,"修改成功");

this.dispose();//关闭框子

}

if(e.getSource()==jb2)

{

this.dispose();

}

}

}

//--------------------------------------------------------------------

1.4

/**

*model2,数据模型

*

*/

packagecom.test2;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.Vector;

importjavax.swing.table.AbstractTableModel;

publicclassStuModelextendsAbstractTableModel

{

VectorrowData,columnNames;

Connectionct=null;

PreparedStatementps=null;

ResultSetrs=null;

//Stringurl="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;databaseName=spdb1";

Stringurl="jdbc:

sqlserver:

//127.0.0.1:

1433;databaseName=spdb01";

Stringuser="sa";

Stringpasswd="root";

//Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";

Stringdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";

inttmp;

publicbooleanaddStu(Stringsql,Stringparas[])

{

//根据用户输入的sql语句完成添加任务

booleanb=true;

//加载驱动

try

{

//1.加载驱动

Class.forName(driver);

//2.得到连接

ct=DriverManager.getConnection(url,user,passwd);

//3.创建ps

if(sql.equals("")||sql.equals("select*fromstuwherestuName=''"))

{

sql="select*fromstu";

ps=ct.prepareStatement(sql);

rs=ps.executeQuery();

columnNames=newVector();

//设置列名

columnNames.add("学号");

columnNames.add("姓名");

columnNames.add("性别");

columnNames.add("年龄");

columnNames.add("籍贯");

columnNames.add("系别");

rowData=newVector();

while(rs.next())

{

Vectorhang=newVector();

hang.add(rs.getString

(1));

hang.add(rs.getString

(2));

hang.add(rs.getString(3));

hang.add(rs.getInt(4));

hang.add(rs.getString(5));

hang.add(rs.getString(6));

//加入到rowData

rowData.add(hang);//通过循环将很多的行加入到了rowData中去

}

}

else

{

ps=ct.prepareStatement(sql);//

//给ps的问号赋值

for(inti=0;i

{

ps.setString(i+1,paras[i]);

}

//4.执行操作

tmp=ps.executeUpdate();//实施

//this.dispose();//关闭框子

if(tmp!

=1)

{

b=false;

}

}

}

catch(Exceptione1)

{

b=false;

e1.printStackTrace();

}

finally

{

try

{

if(rs!

=null)rs.cl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1