/*初学JAVA 开发了一个 学生管理程序,拿出来晒晒,以便大家参考或评论 指出不足之处!谢谢 由于此处不能上传照片,故信息管理系统图片放在我的像册里面
/*/这是登入界面的程序:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.*;
import java.util.jar.JarFile;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Denglujiemian extends Frame implements ActionListener {
JLabel JLUserName = new JLabel("用户名:");
JLabel JLPaw = new JLabel("密码");
JTextField JTUserName = new JTextField();
JPasswordField JPsw= new JPasswordField();
JButton JB1 = new JButton("登入");
JButton JB2 = new JButton("取消");
JLabel JL1 = new JLabel("身份");
JComboBox JC = new JComboBox();
public Denglujiemian(){
this.setTitle("学生信息管理系统");
this.setLayout(null);
JLUserName.setBounds(100,40,100,20);
this.add(JLUserName);
JTUserName.setBounds(200, 40, 80, 20);
this.add(JTUserName);
JLPaw.setBounds(100, 100, 60, 20);
this.add(JLPaw);
JPsw.setBounds(200, 100, 80, 20);
this.add(JPsw);
JL1.setBounds(100, 150, 60, 20);
this.add(JL1);
JC.setBounds(200, 150, 80, 20);
this.add(JC);
JC.addItem(new String("学生"));
JC.addItem(new String("老师"));
JB1.setBounds(100, 200, 60, 20);
this.add(JB1);
JB1.addActionListener(this);
JB2.setBounds(200, 200, 60, 20);
this.add(JB2);
JB2.addActionListener(this);
this.setVisible(true);
this.setBounds(400, 250, 400, 250);
//通過內部內重寫關閉窗體的方法;
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{System.exit(0);
}});
}
public static void main(String[] args) {
new Denglujiemian();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==JB1){ //處理登入事件;
String name = JTUserName.getText();
String Password =new String(JPsw.getPassword());
String Box =(String)JC.getSelectedItem();//將當前所選項傳給BOx
if(name.equals("cuisichao")&&((Password.equals("123")))){
if(Box.equals("学生"))
{
new Studentjiemian();
}
if(Box.equals("老师")){
new TeacherJianMian();
}
}
else {
JOptionPane.showMessageDialog(null, "户名和密码错误");
}
}
}
}
/*这是学生界面程序://这是学生界面程序://这是学生界面程序://这是学生界面程序://这是学生界面程序://这是学生界面程序://这//是学生界面程序://这是学生界面程序://这是学生界面程序://这是学生界面程序://这是学生界面程序://这是学生界面程序:
//这是学生界面程序:*/
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Studentjiemian extends JFrame implements ActionListener{
JMenuBar jm = new JMenuBar();
JMenu jm1 = new JMenu("信息");
JMenu jm2 = new JMenu("成绩");
JMenuItem jmi1 = new JMenuItem("插入");
JMenuItem jmi2 = new JMenuItem("查询");
JMenuItem jmi21 = new JMenuItem("查询");
public Studentjiemian(){
this.setTitle("学生界面");
this.setLayout(null);
this.setJMenuBar(jm);
jm.add(jm1);
jm.add(jm2);
jm1.add(jmi1);
jm1.add(jmi2);
JLabel JL1 = new JLabel("欢迎进入学生查询界面");
jmi1.addActionListener(this);
jmi2.addActionListener(this);
jm2.add(jmi21);
jm2.addActionListener(this);
jmi2.addActionListener(this);
jmi21.addActionListener(this);
this.add(JL1);
JL1.setForeground(Color.red);
JL1.setFont(new java.awt.Font("宋体",Font.PLAIN,20));
JL1.setBounds(150, 80, 200, 200);
this.setBounds(400, 250, 500, 400);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==jmi1){
new Addstudent();
}
if(e.getSource()==jmi2){
new Selectstudent();
}
if(e.getSource()==jmi21){
new Chengjistudent();
}
}
public static void main(String agrs[]){
new Studentjiemian();
}
}
//* 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面 这是增加数据界面*/
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class Addstudent extends JFrame implements ActionListener {
JLabel JL = new JLabel("添加基本信息",JLabel.CENTER);
JLabel JLNumber =new JLabel ("学号:");
JTextField JTNumber = new JTextField();
JLabel JLName = new JLabel("姓名:");
JTextField JTName = new JTextField();
JLabel JLClass = new JLabel("班级:");
JTextField JTClass = new JTextField();
JLabel JLsex = new JLabel("性别:");
ButtonGroup BG = new ButtonGroup();
JRadioButton JRB1 = new JRadioButton("男");
JRadioButton JRB2 = new JRadioButton("女");
JLabel JL1 = new JLabel("学院:");
JTextField JT1 = new JTextField();
JButton JBAdd = new JButton("添加");
JButton JBNext = new JButton("重置");
String sql="";
public Addstudent()
{
this.setTitle("添加学生信息");
this.setLayout(null);
JL.setForeground(Color.red);
JL.setBounds(100, 30, 200, 40);
this.add(JL);
JLNumber.setBounds(100, 80, 100, 20);
this.add(JLNumber);
JTNumber.setBounds(200, 80, 80, 20);
this.add(JTNumber);
JLName.setBounds(100, 120, 60, 20);
this.add(JLName);
JTName.setBounds(200, 120, 80, 20);
this.add(JTName);
JLsex.setBounds(100, 160, 100, 20);
this.add(JLsex);
JRB1.setBounds(200, 160, 40, 20);
JRB2.setBounds(300, 160, 40, 20);
this.add(JRB1);
this.add(JRB2);
BG.add(JRB1);
BG.add(JRB2);
JLClass.setBounds(100, 240, 60, 20);
this.add(JLClass);
JTClass.setBounds(200, 240, 80, 20);
this.add(JTClass);
JL1.setBounds(100, 280, 60, 20);
this.add(JL1);
JT1.setBounds(200, 280, 100, 20);
this.add(JT1);
JBAdd.setBounds(80, 320, 90, 20);
this.add(JBAdd);
JBAdd.addActionListener(this);
JBNext.setBounds(190, 320, 90, 20);
this.add(JBNext);
JBNext.addActionListener(this);
this.setBounds(400, 250, 500, 400);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
if(e.getSource()==JBAdd){
String snumber= JTNumber.getText();
String sname = JTName.getText();
String sclass = JTClass.getText();
String ssex ="女";
if(JRB1.isSelected())
ssex="男";
String scollect = JT1.getText();
sql="select * from student where snumber ='"+snumber+"'";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection cot = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?characterEncoding=gbk" ,"root","123");
Statement stm =cot.createStatement();//提交查巡
ResultSet rs =stm.executeQuery(sql);//取得查巡結果
if(rs.next())
JOptionPane.showMessageDialog(null, "该號已經存在");
else{
sql="insert into student values ('"+snumber+"','"+sname+"','"+sclass+"','"+ssex+"','"+scollect+"')";
int i =stm.executeUpdate(sql);
//對數據庫進行更新
if(i>0)
JOptionPane.showMessageDialog(null, "添加成功");
else
JOptionPane.showMessageDialog(null, "刪除失敗");
}
}
catch(Exception ee){
}
}
if(e.getSource()==JBNext){
JTNumber.setText(null);
JTName.setText(null);
JTClass.setText(null);
JT1.setText(null);
}
}
public static void main(String agrs[]){
new Addstudent();
}
}
/*这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界v 面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 这是查询界面 */
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
import org.omg.PortableServer.ImplicitActivationPolicyValue;
public class Selectstudent extends JFrame implements ActionListener {
JLabel JL = new JLabel("查询学生信息",JLabel.CENTER);
JLabel JLNumber = new JLabel("请输入学号:");
JTextField JTNumber =new JTextField();
JButton JBset =new JButton("查询");
JButton JBnext = new JButton("重置");
JLabel JLName = new JLabel("姓名");
JTextField JTName = new JTextField();
JLabel JLsex = new JLabel("性别");
JTextField JTxb = new JTextField();
JLabel JLClass = new JLabel("班级");
JTextField JTClass = new JTextField();
JLabel JL1 = new JLabel("学院");
JTextField JT1 = new JTextField();
String sql= "" ;
public Selectstudent(){
this.setTitle("查询学生信息");
this.setLayout(null);
JL.setForeground(Color.red);
JL.setFont(new java.awt.Font("宋体",Font.PLAIN,19));
JL.setBounds(100, 30, 200, 40);
this.add(JL);
JLNumber.setBounds(100, 80, 100, 20);
this.add(JLNumber);
JTNumber.setBounds(200, 80, 80, 20);
this.add(JTNumber);
JLName.setBounds(100, 160, 80, 20);
this.add(JLName);
JTName.setBounds(200, 160, 80, 20);
this.add(JTName);
JLsex.setBounds(100, 200, 100, 20);
this.add(JLsex);
JTxb.setBounds(200, 200, 80, 20);
this.add(JTxb);
JLClass.setBounds(100, 280, 60, 20);
this.add(JLClass);
JTClass.setBounds(200, 280, 80, 20);
this.add(JTClass);
JL1.setBounds(100, 320, 60, 20);
this.add(JL1);
JT1.setBounds(200, 320, 80, 20);
this.add(JT1);
JBset.setBounds(80, 120, 90, 20);
this.add(JBset);
JBset.addActionListener(this);
JBnext.setBounds(190, 120, 90, 20);
this.add(JBnext);
JBnext.addActionListener(this);
this.setBounds(400, 250, 500, 400);
this.setVisible(true);
//通过内部内重写关闭的方法
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==JBset){
String snumber =JTNumber.getText();
String sname=JTName.getText();
String sclass=JTClass.getText();
String ssex ="女";
String scollect=JT1.getText();
sql="select*from student where snumber='"+snumber+"'";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection cot = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?characterEncoding=gbk" ,"root","123");
Statement stm =cot.createStatement();//提交查巡
ResultSet rs =stm.executeQuery(sql);//取得查巡結果
if(rs.next())
{
String name =rs.getString(3);
JTName.setText(name);
String clas =rs.getString(5);
JTClass.setText(clas);
String sex =rs.getString(4);
JTxb.setText(sex);
String collect=rs.getString(6);
JT1.setText(collect);
String bir = rs.getString(6);
//对数苦苦进行查询
int n = stm.executeUpdate(sql);
if(n>0)
JOptionPane.showMessageDialog(null, "查询成功");
else
JOptionPane.showMessageDialog(null, "查询失败");
}
else
{
JOptionPane.showMessageDialog(null, "次用户不在");
}
cot.close();
stm.close();
rs.close();
}
catch(Exception ee)
{
}
}
if(e.getSource()==JBnext)
{
JTNumber.setText(null);
JTName.setText(null);
JTClass.setText(null);
JT1.setText(null);
JTxb.setText(null);
}
}
public static void main(String[] args) {
new Selectstudent();
}
}
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class Chengjistudent extends JFrame implements ActionListener {
JLabel JL = new JLabel("查询成績",JLabel.CENTER);
JLabel JLNumber = new JLabel("请输入学号:");
JTextField JTNumber =new JTextField();
JButton JBset =new JButton("查询");
JButton JBnext = new JButton("重置");
JLabel JLName = new JLabel("姓名");
JTextField JTName = new JTextField();
JLabel JLClass = new JLabel("班级");
JTextField JTClass = new JTextField();
JLabel JL1 = new JLabel("数学");
JTextField JT1 = new JTextField();
JLabel JL2 = new JLabel("语文");
JTextField JT2 =new JTextField();
String sql= "" ;
public Chengjistudent(){
this.setTitle("查询成绩");
this.setLayout(null);
JL.setForeground(Color.red);
JL.setFont(new java.awt.Font("宋体",Font.PLAIN,19));
JL.setBounds(100, 30, 200, 40);
this.add(JL);
JLNumber.setBounds(100, 80, 100, 20);
this.add(JLNumber);
JTNumber.setBounds(200, 80, 80, 20);
this.add(JTNumber);
JLName.setBounds(100, 160, 80, 20);
this.add(JLName);
JTName.setBounds(200, 160, 80, 20);
this.add(JTName);
JL2.setBounds(100, 240, 100, 20);
this.add(JL2);
JT2.setBounds(200, 240, 80, 20);
this.add(JT2);
JLClass.setBounds(100, 280, 60, 20);
this.add(JLClass);
JTClass.setBounds(200, 280, 80, 20);
this.add(JTClass);
JL1.setBounds(100, 320, 60, 20);
this.add(JL1);
JT1.setBounds(200, 320, 80, 20);
this.add(JT1);
JBset.setBounds(80, 120, 90, 20);
this.add(JBset);
JBset.addActionListener(this);
JBnext.setBounds(190, 120, 90, 20);
this.add(JBnext);
JBnext.addActionListener(this);
this.setBounds(400, 250, 500, 400);
this.setVisible(true);
//通过内部内重写关闭的方法
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==JBset){
String snumber =JTNumber.getText();
String sname=JTName.getText();
String sclass=JTClass.getText();
String ssex ="女";
String sbir =JT2.getText();
String scollect=JT1.getText();
sql="select*from student where Id='"+snumber+"'";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cot = DriverManager.getConnection("jdbc:odbc://student","root","123");
Statement stm =cot.createStatement();//提交查巡
ResultSet rs =stm.executeQuery(sql);//取得查巡結果
if(rs.next())
{
String name =rs.getString(2);
JTName.setText(name);
String clas =rs.getString(3);
JTClass.setText(clas);
String collect=rs.getString(5);
JT1.setText(collect);
String bir = rs.getString(6);
JT2.setText(bir);
//对数苦苦进行查询
int n = stm.executeUpdate(sql);
if(n>0)
JOptionPane.showMessageDialog(null, "查询成功");
else
JOptionPane.showMessageDialog(null, "查询失败");
}//通过showmessagedialog()打印信息
else
{
JOptionPane.showMessageDialog(null, "次用户不在");
}
}
catch(Exception ee)
{
}
}
if(e.getSource()==JBnext)
{
JTNumber.setText(null);
JTName.setText(null);
JTClass.setText(null);
JT1.setText(null);
JT2.setText(null);
}
}
public static void main(String[] args) {
new Chengjistudent();
}
}