数据库课程设计(下)(学生成绩管理系统)
作者:互联网
菜单图形化界面:
package sc;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Menu extends JFrame implements ActionListener{
AddS 增加学生界面;
UpdateS 修改学生界面;
DelS 删除学生界面;
AddC 增加课程界面;
DelC 删除课程界面;
UpdateC 修改课程界面;
AddSC 增加选课界面;
DelSC 删除选课界面;
UpdateSC 修改选课界面;
SelS 学生查询界面;
JPanel pCenter;
CardLayout card=null;
JLabel label=null;
JMenuBar mb=new JMenuBar();//菜单栏
JMenu m1=new JMenu("学生管理");
JMenuItem add1=new JMenuItem("add ");
JMenuItem updata1=new JMenuItem("update ");
JMenuItem delete1=new JMenuItem("delete ");
JMenu m2=new JMenu("课程管理");
JMenuItem add2=new JMenuItem("add ");
JMenuItem updata2=new JMenuItem("update ");
JMenuItem delete2=new JMenuItem("delete ");
JMenu m3=new JMenu("选课管理");
JMenuItem add3=new JMenuItem("add ");
JMenuItem updata3=new JMenuItem("update ");
JMenuItem delete3=new JMenuItem("delete ");
JMenu m4=new JMenu("查询管理");
JMenuItem 学生查询=new JMenuItem("查询信息 ");
JMenuItem m5=new JMenuItem("系统退出");
Font t=new Font ("sanerif",Font.PLAIN,12);
public Menu (){
this.setTitle("学生选课管理系统");
try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}
catch(Exception e){System.err.println("不能设置外观: "+e);}
//组合菜单
addMenu1();
addMenu2();
addMenu3();
addMenu4();
addJMenuBar();
setJMenuBar(mb);
label=new JLabel("BJTU选课管理系统",JLabel.CENTER);
label.setFont(new Font("宋体",Font.BOLD,36));
label.setHorizontalTextPosition(SwingConstants.CENTER);
label.setForeground(Color.blue);
//点击事件
add1.addActionListener(this);
updata1.addActionListener(this);
delete1.addActionListener(this);
m5.addActionListener(this);
add2.addActionListener(this);
delete2.addActionListener(this);
updata2.addActionListener(this);
add3.addActionListener(this);
delete3.addActionListener(this);
updata3.addActionListener(this);
学生查询.addActionListener(this);
card=new CardLayout();
pCenter=new JPanel();
pCenter.setLayout(card);
增加学生界面=new AddS();
修改学生界面=new UpdateS();
删除学生界面=new DelS();
增加课程界面=new AddC();
删除课程界面=new DelC();
修改课程界面=new UpdateC();
增加选课界面=new AddSC();
删除选课界面=new DelSC();
修改选课界面=new UpdateSC();
学生查询界面=new SelS();
pCenter.add("欢迎界面",label);
pCenter.add("增加学生界面",增加学生界面);
pCenter.add("修改学生界面",修改学生界面);
pCenter.add("删除学生界面",删除学生界面);
pCenter.add("增加课程界面",增加课程界面);
pCenter.add("删除课程界面",删除课程界面);
pCenter.add("修改课程界面",修改课程界面);
pCenter.add("增加选课界面",增加选课界面);
pCenter.add("删除选课界面",删除选课界面);
pCenter.add("修改选课界面",修改选课界面);
pCenter.add("学生查询界面", 学生查询界面);
add(pCenter,BorderLayout.CENTER);
validate();
setVisible(true);
setBounds(400,150,600,380);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addWindowListener(new WindowAdapter(){//关闭程序时的操作
public void windowClosing(WindowEvent e){System.exit(0);}
});
validate();
}
private void addJMenuBar() {
mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);
}
private void addMenu4() {
m4.add(学生查询);
m4.setFont(t);
}
private void addMenu3() {
m3.add(add3);
m3.add(updata3);
m3.add(delete3);
m3.setFont(t);
}
private void addMenu2() {//将菜单加入到菜单栏中
m2.add(add2);
m2.add(updata2);
m2.add(delete2);
m2.setFont(t);
}
private void addMenu1() {
m1.add(add1);
m1.add(updata1);
m1.add(delete1);
m1.setFont(t);//字体
}
public void actionPerformed(ActionEvent e){
Object obj=e.getSource();
if(obj==m5){System.exit(0);}
else{if(obj==add1){
card.show(pCenter,"增加学生界面");
}
else{if(obj==updata1){
card.show(pCenter,"修改学生界面");
}
else{if(obj==delete1){
card.show(pCenter, "删除学生界面");
}
else{if(obj==add2){
card.show(pCenter, "增加课程界面");
}
else{if(obj==delete2){
card.show(pCenter, "删除课程界面");
}
else{if(obj==updata2){
card.show(pCenter, "修改课程界面");
}
else{if(obj==add3){
card.show(pCenter, "增加选课界面");
}
else{if(obj==delete3){
card.show(pCenter, "删除选课界面");
}
else{if(obj==updata3){
card.show(pCenter, "修改选课界面");
}
else{if(obj==学生查询){
card.show(pCenter, "学生查询界面");
}}
}}}}}}}}}}
public static void main(String[] args) {
new Menu();
}
}
用户类(用于登录管理系统):
package sc;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class User extends JFrame{
private JLabel use,password;
private JTextField k1;//用户名输入框
private JPasswordField k2;//密码输入框
private JButton b1,b2;
//登录窗口
public User(JFrame f){
super("系统登录");
Container c=getContentPane();
c.setLayout(new FlowLayout());
use=new JLabel("username:");
use.setFont(new Font("Serif",Font.PLAIN,20));
password=new JLabel("password:");
password.setFont(new Font("Serif",Font.PLAIN,20));
k1=new JTextField(12);
k2=new JPasswordField(12);
b1=new JButton("登录");
b2=new JButton("退出");
// 设置登录方法
BHandler b=new BHandler();
EXIT d=new EXIT();
b1.addActionListener(b);
b2.addActionListener(d);
//添加控件
c.add(use);
c.add(k1);
c.add(password);
c.add(k2);
c.add(b1);
c.add(b2);
setBounds(600,300,250,150);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//主函数
public static void main(String[] args) {
User f1=new User(new JFrame());
}
//登录按钮方法
private class BHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
if(k1.getText().equals("")||k2.getText().equals("")){
JOptionPane.showMessageDialog(User.this,"用户名密码不能为空!" );
}
else{
Statement stmt=null;
ResultSet rs=null;
String sql;
sql="select * from users where username='"+k1.getText()+"'";
try{
Connection dbConn1=CONN();
stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
if(rs.next()){
String xm=rs.getString("passwd");
if(k2.getText().equals(xm.trim())){JOptionPane.showMessageDialog(User.this,"登录成功");
dispose();
new Menu();//管理窗口
}
else{JOptionPane.showMessageDialog(User.this,"密码错误");}
}
else{JOptionPane.showMessageDialog(User.this,"用户名错误");}
rs.close();
stmt.close();
}
catch(SQLException e){
JOptionPane.showMessageDialog(User.this,"SQL Exception occur.Message is:"+e.getMessage());
}
}
}
}
//退出方法结束
private class EXIT implements ActionListener{
public void actionPerformed(ActionEvent even){
System.exit(0);
}
}
//连接数据库方法
public static Connection CONN(){
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名"; //连接服务器和数据库test
String userName = "sa"; //默认用户名
String userPwd = "密码"; //密码
Connection dbConn=null;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
} catch (Exception e) {
e.printStackTrace();
}
return dbConn;
}
}//父类结束
标签:课程设计,界面,管理系统,数据库,选课,add,pCenter,JMenuItem,new 来源: https://blog.csdn.net/weixin_43901182/article/details/113618261