博客目录

  • Swing+mysql的校园管理系统
    • 实现功能截图
    • 系统功能
    • 使用技术
    • 代码
    • 写在最后

Swing+mysql的校园管理系统

本系统综合了校园管理的所有功能,一共分为三个角色:学生、教师、管理员端。对应的功能有:学生管理、教师管理、用户管理、班级管理、成绩管理、专业管理、点名考勤系统、留言管理、校园通信,另外有休闲游戏、音乐系统等。

实现功能截图

登录

学生管理

教师管理

班级管理

成绩管理

个人信息

角色管理

课程管理:

留言管理

校园通信

宿舍管理

点名签到系统


专业管理

休闲小游戏

音乐系统

系统功能

角色:
学生、教师、管理员
本学院管理系统实现了以下功能:
1、学生管理
2、教师管理
3、用户管理
4、专业管理
5、课程管理
6、专业管理
7、班级管理
8、成绩管理
9、个人信息
10、留言管理
11、点名系统
12、角色管理
13、音乐系统
14、休闲小游戏

使用技术

数据库:mysql
开发工具:Eclipse(Myeclispe、Idea也可以)
知识点:swing

代码

实体类
校园通信:
Client.java

/** Client.java** Created on __DATE__, __TIME__*/package cn.com.cssve.chat;import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JOptionPane;import cn.com.zh.entity.User;
import cn.com.zh.ui.MainFrame;public class Client extends javax.swing.JFrame {Socket socket;String clientName;private PrintWriter out;User u;public Client(Socket socket, String name,User u) {this.socket = socket;this.clientName = name;this.u=u;setTitle("欢迎【" + name + "】来到无聊【聊天室】");initComponents();new ChatThread(socket).start();setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);this.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {setVisible(false);}});}//会话层class ChatThread extends Thread {private Socket socket;public ChatThread(Socket socket) {this.socket = socket;}@Overridepublic void run() {try {out = new PrintWriter(socket.getOutputStream(), true);BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));new GetThread(br).start();out.println(clientName);} catch (IOException e) {e.printStackTrace();}}}//获取信息class GetThread extends Thread {private BufferedReader br;public GetThread(BufferedReader br) {this.br = br;}@Overridepublic void run() {try {while (true) {String msg = br.readLine();System.out.println(msg);//判断服务器是否已经关闭,或者被踢出来if (msg == null) {break;}if (msg.startsWith("list:")) {DefaultListModel dlm = new DefaultListModel();String list = msg.substring(5);StringTokenizer st = new StringTokenizer(list, "[,]");System.out.println(st);while (st.hasMoreTokens()) {dlm.addElement(st.nextToken());}jList1_user.setModel(dlm);} else {SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");String getTime = sdf.format(new Date());jTextArea1.append(getTime+"\n"+msg + "\n");}}} catch (IOException e) {} finally {JOptionPane.showMessageDialog(null,"<html>与主机失去联系!发生错误的原因可能有:<br>①您的昵称已经存在,请更改<br>②服务器已经关闭,请等待服务器重新启动<br>③您被管理员踢出来了!请注意遵守聊天室规则</html>");
//              new ChatLoginInterface().setVisible(true);Client.this.dispose();}}}//GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jList1_user = new javax.swing.JList(new DefaultListModel<>());
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jTextField_import = new javax.swing.JTextField();
jButton_send = new javax.swing.JButton();
jComboBox1 = new javax.swing.JComboBox();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jPanel1.setBackground(new java.awt.Color(204, 255, 204));jList1_user.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0), "\u7528\u6237\u5217\u8868", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("楷体", 1, 14)));
jList1_user.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jList1_user.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
jScrollPane1.setViewportView(jList1_user);jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane2.setViewportView(jTextArea1);jButton_send.setText("\u53d1  \u9001");
jButton_send.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton_sendActionPerformed(evt);
}
});jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "群      聊", "私      聊" }));javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jTextField_import, javax.swing.GroupLayout.PREFERRED_SIZE, 357, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton_send)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jScrollPane2)))
.addContainerGap(22, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 235, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField_import, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton_send)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(31, Short.MAX_VALUE))
);javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);pack();
}//点击发送按钮private void jButton_sendActionPerformed(java.awt.event.ActionEvent evt) {String text = jTextField_import.getText().trim();//在下一次输入的时候将输入框清空jTextField_import.setText("");if (text.equals("")) {JOptionPane.showMessageDialog(null, "发送的消息不能为空,请输入内容之后再发送!");}else{// 获得发送消息的类型int index=jComboBox1.getSelectedIndex();if (index==0) {//群聊SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");String getTime = sdf.format(new Date());out.println(clientName + ":all:" + text);
//              jTextArea1.append(getTime+"\n"+clientName+"对所有人说:"+text+"\n");}else{//私聊int item = jList1_user.getSelectedIndex();if (item==-1) {JOptionPane.showMessageDialog(null, "私聊必须选择一个用户");}else{String name = jList1_user.getSelectedValue().toString();if (name.equals(clientName)) {JOptionPane.showMessageDialog(null, "您不能和自己私聊");jTextField_import.setText("");}else{SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");String getTime = sdf.format(new Date());jTextArea1.append(getTime+"\n"+clientName + "对" + name + "说:"+text);out.println(clientName + ":" + item + ":" + text);}}}}}//  public static void main(String args[]) {//      java.awt.EventQueue.invokeLater(new Runnable() {//          public void run() {             new Client().setVisible(true);//            }//     });//   }//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JButton jButton_send;private javax.swing.JComboBox jComboBox1;private javax.swing.JList jList1_user;private javax.swing.JPanel jPanel1;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JScrollPane jScrollPane2;private javax.swing.JTextArea jTextArea1;private javax.swing.JTextField jTextField_import;// End of variables declaration//GEN-END:variables}

ServerFrame.java

/** ServerFrame.java** Created on __DATE__, __TIME__*/package cn.com.cssve.chat;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JOptionPane;import cn.com.zh.entity.User;
import cn.com.zh.ui.MainFrame;
import cn.com.zh.util.TimeUtil;/**** @author  __USER__*/
public class ServerFrame extends javax.swing.JFrame implements ActionListener,KeyListener {/** Creates new form ServerFrame */TimeUtil timeUtil = new TimeUtil();String time = TimeUtil.getTime();User p;public ServerFrame(final User user) {initComponents();setLocationRelativeTo(null);jButton4.addActionListener(this);createFile();this.setFocusable(true);this.addKeyListener(this);setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);this.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {setVisible(false);}});}private void createFile() {try {String newPath = System.getProperty("user.dir");dir = newPath + "\\记录\\" + time;fileDir = new File(dir);System.out.println(fileDir.getAbsolutePath());if (!fileDir.isDirectory()) {fileDir.mkdirs();}fileName = "聊天记录.txt";bw = new BufferedWriter(new FileWriter(dir + "\\" + fileName, true));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jPanel1 = new javax.swing.JPanel();
jButton_initiator = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jList_user = new javax.swing.JList(new DefaultListModel<>());
jLabel_sate = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jButton_kick = new javax.swing.JButton();
jButton_send = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jComboBox1 = new javax.swing.JComboBox();
jTextField_import = new javax.swing.JTextField();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("\u670d\u52a1\u5668");
setResizable(false);jPanel1.setBackground(new java.awt.Color(204, 255, 204));jButton_initiator.setFont(new java.awt.Font("楷体", 1, 18));
jButton_initiator.setText("\u542f\u52a8\u670d\u52a1\u5668");
jButton_initiator.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton_initiatorActionPerformed(evt);
}
});jList_user.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0), "\u7528\u6237\u5217\u8868", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("楷体", 1, 18)));
jList_user.setFont(new java.awt.Font("楷体", 0, 14));jScrollPane1.setViewportView(jList_user);jLabel_sate.setFont(new java.awt.Font("楷体", 1, 14));
jLabel_sate.setForeground(new java.awt.Color(255, 0, 51));
jLabel_sate.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel_sate.setText("\u5173\u95ed");
jLabel_sate.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)), "\u670d\u52a1\u5668\u72b6\u6001", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("楷体", 1, 24), new java.awt.Color(0, 204, 204)));jTextArea1.setColumns(20);
jTextArea1.setEditable(false);
jTextArea1.setRows(5);
jScrollPane2.setViewportView(jTextArea1);jButton_kick.setFont(new java.awt.Font("楷体", 1, 14));
jButton_kick.setText("\u8e22\u51fa\u7528\u6237");
jButton_kick.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton_kickActionPerformed(evt);
}
});jButton_send.setFont(new java.awt.Font("楷体", 1, 14));
jButton_send.setText("\u53d1 \u9001");
jButton_send.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton_sendActionPerformed(evt);
}
});jButton3.setFont(new java.awt.Font("楷体", 1, 14));
jButton3.setText("\u6e05\u9664\u804a\u5929\u8bb0\u5f55");
jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);
}
});jButton4.setFont(new java.awt.Font("楷体", 1, 14));
jButton4.setText("\u4fdd\u5b58\u804a\u5929\u8bb0\u5f55");jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "群      聊", "私      聊" }));javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton_initiator, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jScrollPane1, 0, 0, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jButton_kick)
.addGap(18, 18, 18)))
.addGap(58, 58, 58)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jButton3)
.addGap(28, 28, 28)
.addComponent(jButton4)
.addGap(51, 51, 51))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jTextField_import, javax.swing.GroupLayout.DEFAULT_SIZE, 314, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jButton_send)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jButton4))
.addGap(27, 27, 27))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel_sate, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 479, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jButton_initiator, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel_sate, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(39, 39, 39)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 237, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton_send)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField_import, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(28, 28, 28)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jButton_kick))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton3)
.addComponent(jButton4)
.addComponent(jButton4))))
.addGap(18, 18, 18))
);javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 455, Short.MAX_VALUE)
);pack();
}// </editor-fold>//GEN-END:initComponents//清空聊天记录private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {int i = JOptionPane.showConfirmDialog(this, "你确定要清空聊天信息吗?", "提  示",JOptionPane.OK_CANCEL_OPTION);if (i == JOptionPane.OK_OPTION) {jTextArea1.setText("");} else {JOptionPane.showMessageDialog(null, "聊条信息清空失败!", "提  示",JOptionPane.INFORMATION_MESSAGE);}}//踢出用户protected void jButton_kickActionPerformed(ActionEvent evt) {Object object = jList_user.getSelectedValue();if (object != null) {ClientBean cb = (ClientBean) object;((DefaultListModel) jList_user.getModel()).removeElement(cb);try {cb.getSocket().close();} catch (IOException e) {} finally {String msg = "管理员将【" + cb.clientName + "】赶出聊天室";sendAll(msg);sendList();}} else {JOptionPane.showMessageDialog(null, "请从用户列表选择您要踢出的人");}}private void jButton_sendActionPerformed(ActionEvent evt) {String imp = jTextField_import.getText().trim();jTextField_import.setText("");if (imp.equals("")) {JOptionPane.showMessageDialog(null, "发送的信息不能为空");} else {//获得发送信息的类型int index = jComboBox1.getSelectedIndex();//索引0代表群聊if (index == 0) {String msg = "管理员对说有人说:" + imp;sendAll(msg);} else {Object obj = jList_user.getSelectedValue();if (obj == null) {JOptionPane.showMessageDialog(null, "私聊必须选择一个用户");} else {ClientBean cb = (ClientBean) obj;String msg = "管理员对【" + cb.getClientName() + "】说:" + imp;sendPrivate(msg, cb);}}}}// 启动服务器private void jButton_initiatorActionPerformed(java.awt.event.ActionEvent evt) {String text = jButton_initiator.getText();if (text.equals("启动服务器")) {startServer();} else {stopServer();}}public static int Post = 2002;public boolean flag = false;// 启动服务器private void startServer() {try {flag = true;socket = new ServerSocket(Post);jLabel_sate.setText("服务器正在监听" + Post + "端口");jButton_initiator.setText("关闭服务器");new ListenerThread().start();} catch (IOException e) {JOptionPane.showMessageDialog(this, "服务器启动失败!");}}//监听线程class ListenerThread extends Thread {@Overridepublic void run() {while (flag) {try {Socket accp = socket.accept();//启动与客户端会话线程new chatThread(accp).start();} catch (IOException e) {flag = false;}}}}//客户端会话线程class chatThread extends Thread {private Socket s;public chatThread(Socket s) {this.s = s;}@Overridepublic void run() {try {PrintWriter out = new PrintWriter(s.getOutputStream(), true);BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));//获得客户端昵称String clientName = br.readLine();//            System.out.println(clientName);if (existsClientName(clientName)) {s.close();} else {ClientBean cb = new ClientBean(s, clientName, out);DefaultListModel dlm = (DefaultListModel) jList_user.getModel();//将客户端添加到ServerControl界面dlm.addElement(cb);//欢迎词String welcome = "欢迎【" + clientName + "】来到【无聊】聊天室";//向各客户端发送欢迎词sendAll(welcome);//向客户端发送用户列表sendList();//启动获得客户端信息线程new GetThread(br, cb).start();}} catch (IOException e) {}}//获取客户端信息class GetThread extends Thread {private BufferedReader br;private ClientBean cb;public GetThread(BufferedReader br, ClientBean cb) {this.br = br;this.cb = cb;}@Overridepublic void run() {try {while (true) {String text = br.readLine();String[] content = text.split(":");if (content[1].equals("all")) {String msg = content[0] + "对所有人说:" + content[2];sendAll(msg);} else {int index = Integer.parseInt(content[1]);Object object = jList_user.getModel().getElementAt(index);if (object != null) {ClientBean cb = (ClientBean) object;String msg = content[0] + "对"+ cb.getClientName() + "说" + content[2];sendPrivate(msg, cb);}}}//当客户端直接关闭窗台时,从JList中直接移除用户信息} catch (IOException e) {if (flag) {DefaultListModel dlm = (DefaultListModel) jList_user.getModel();//判断用户是否被管理员踢出来,若果不是就欢送if (dlm.contains(cb)) {dlm.removeElement(cb);String goodbye = "欢送【" + cb.getClientName()+ "】离开聊天室";sendAll(goodbye);sendList();}}}}}//点击发送按钮private void jButton_sendActionPerformed(java.awt.event.ActionEvent evt) {String imp = jTextField_import.getText().trim();jTextField_import.setText("");if (imp.equals("")) {JOptionPane.showMessageDialog(null, "发送的信息不能为空");} else {//获得发送信息的类型int index = jComboBox1.getSelectedIndex();//索引0代表群聊if (index == 0) {String msg = "管理员对说有人说:" + imp;sendAll(msg);} else {Object obj = jList_user.getValueIsAdjusting();if (obj == null) {JOptionPane.showMessageDialog(null, "私聊必须选择一个用户");} else {ClientBean cb = (ClientBean) obj;String msg = "管理员对" + cb.getClientName() + "说:" + imp;sendPrivate(msg, cb);}}}}}//发送群聊信息private void sendAll(String msg) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");String getTime = sdf.format(new Date());jTextArea1.append(getTime+"\n"+msg + "\n");try {bw.write(msg+"\n");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}Enumeration em = ((DefaultListModel) jList_user.getModel()).elements();if (em.hasMoreElements()) {ClientBean cb = (ClientBean) em.nextElement();cb.getPw().println(msg);}}//发送私有的信息public void sendPrivate(String text, ClientBean cb) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");String getTime = sdf.format(new Date());jTextArea1.append(getTime+"\n"+text + "\n");try {bw.write(text);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}cb.getPw().println(text);}private void sendList() {DefaultListModel dlm = (DefaultListModel) jList_user.getModel();Enumeration em = dlm.elements();if (em.hasMoreElements()) {ClientBean cb = (ClientBean) em.nextElement();cb.getPw().println("list:" + dlm.toString());}}//判断用户列表中是否含有相同的昵称public boolean existsClientName(String clientnName) {boolean flag = false;Enumeration emu = ((DefaultListModel) jList_user.getModel()).elements();while (emu.hasMoreElements()) {ClientBean cb = (ClientBean) emu.nextElement();if (cb.getClientName().equals(clientnName)) {flag = true;break;}}return flag;}// 关闭服务器private void stopServer() {try {flag = false;jLabel_sate.setText("关   闭");jButton_initiator.setText("启动服务器");socket.close();} catch (Exception e) {JOptionPane.showMessageDialog(this, "关闭服务器失败!");}}//   public static void main(String args[]) {//      java.awt.EventQueue.invokeLater(new Runnable() {//          public void run() {//              new ServerFrame().setVisible(true);
//          }
//      });
//  }private javax.swing.JButton jButton3;private javax.swing.JButton jButton4;private javax.swing.JButton jButton_initiator;private javax.swing.JButton jButton_kick;private javax.swing.JButton jButton_send;private javax.swing.JComboBox jComboBox1;private javax.swing.JLabel jLabel_sate;private javax.swing.JList jList_user;private javax.swing.JPanel jPanel1;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JScrollPane jScrollPane2;private javax.swing.JTextArea jTextArea1;private javax.swing.JTextField jTextField_import;// End of variables declaration//GEN-END:variablesprivate ServerSocket socket;private BufferedWriter bw;private String fileName;private String dir;private File fileDir;@Overridepublic void actionPerformed(ActionEvent e) {if(e.getSource()==jButton4){try {int chose = JOptionPane.showConfirmDialog(null, "您需要保存聊天记录吗?","提  示", JOptionPane.OK_CANCEL_OPTION);if (chose == JOptionPane.OK_OPTION) {bw.flush();//写入的过程JOptionPane.showMessageDialog(null, "聊天记录保存成功!");} else {}} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}@Overridepublic void keyTyped(KeyEvent e) {// TODO Auto-generated method stub}@Overridepublic void keyPressed(KeyEvent e) {if(e.getKeyCode()==KeyEvent.VK_ESCAPE){int i = JOptionPane.showConfirmDialog(null, "是否退出?","提  示", JOptionPane.YES_NO_OPTION);if(i==0){this.dispose();new MainFrame(p).setVisible(true);}}}@Overridepublic void keyReleased(KeyEvent e) {// TODO Auto-generated method stub}}

dao
ClassDao.java

package cn.com.zh.dao;import java.util.List;import cn.com.zh.entity.Class;
import cn.com.zh.entity.Course;
import cn.com.zh.entity.Sign;public interface ClassDao {//查询班级的方法public List<Class> allClass(Class c);//增加班级的方法public boolean addClass(Class c);//修改班级的方法public boolean updateClass(Class c);//删除班级public boolean deleteClass(int gid);//动态加载班级名称下拉框public List<Class> lodeClassName();//更据学生编号查询该学生所在的班级public List<Class> findClassinfoBySid(int sid);//更据专业编号查询班级信息public List<Class> findClassInfoByMid(int mid);}

MessageDao.java

package cn.com.zh.dao;import java.util.List;import cn.com.zh.entity.Board;
import cn.com.zh.entity.Message;public interface MessageDao {public List<Message> findMessage(Message m);public boolean deleteMessage(int mid);public boolean addMessage(Message m);// 分页查询留言信息public List<Message> findAllMessageLimt();}

AddCouDialog.java

/** AddCouDialog.java** Created on __DATE__, __TIME__*/package cn.com.zh.dialog;import java.util.List;import javax.swing.ImageIcon;
import javax.swing.JOptionPane;import cn.com.zh.dao.CourseDao;
import cn.com.zh.dao.CourseDaoImpl;
import cn.com.zh.dao.MajorDao;
import cn.com.zh.dao.MajorDaoImpl;
import cn.com.zh.entity.Course;
import cn.com.zh.entity.Major;/**** @author  __USER__*/
public class AddCouDialog extends javax.swing.JDialog {/** Creates new form AddCouDialog */public AddCouDialog(java.awt.Frame parent, boolean modal) {super(parent, modal);initComponents();setLocationRelativeTo(null);ImageIcon image = new ImageIcon("img/courseTit.png");setIconImage(image.getImage());lodeMajorName();}//动态加载专业下拉框public void lodeMajorName() {MajorDao majorDao = new MajorDaoImpl();List<Major> lodeMajorName = majorDao.lodeMajorName();jComboBox1.addItem("----请选择----");for (int i = 0; i < lodeMajorName.size(); i++) {Major major = lodeMajorName.get(i);jComboBox1.addItem(major);}}/** This method is called from within the constructor to* initialize the form.* WARNING: Do NOT modify this code. The content of this method is* always regenerated by the Form Editor.*///GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jLabel1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jLabel4 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("\u6dfb\u52a0\u8bfe\u7a0b\u4fe1\u606f");jLabel1.setFont(new java.awt.Font("楷体", 1, 24));
jLabel1.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\course.png")); // NOI18N
jLabel1.setText("\u589e\u52a0\u8bfe\u7a0b\u4fe1\u606f");jButton1.setFont(new java.awt.Font("楷体", 1, 18));
jButton1.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\StuSure.png")); // NOI18N
jButton1.setText("\u786e\u5b9a");
jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);
}
});jButton2.setFont(new java.awt.Font("楷体", 1, 18));
jButton2.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\StuReset.png")); // NOI18N
jButton2.setText("\u91cd\u7f6e");
jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);
}
});jLabel2.setFont(new java.awt.Font("楷体", 1, 18));
jLabel2.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\Couname.png")); // NOI18N
jLabel2.setText("\u8bfe\u7a0b\u540d\u79f0:");jTextField1.setFont(new java.awt.Font("楷体", 1, 18));jLabel3.setFont(new java.awt.Font("楷体", 1, 18));
jLabel3.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\CouType.png")); // NOI18N
jLabel3.setText("\u8bfe\u7a0b\u63cf\u8ff0:");jTextArea1.setColumns(20);
jTextArea1.setFont(new java.awt.Font("楷体", 1, 18));
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);jLabel4.setFont(new java.awt.Font("楷体", 1, 18));
jLabel4.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\Classcname.png")); // NOI18N
jLabel4.setText("\u4e13\u4e1a\u540d\u79f0:");jComboBox1.setFont(new java.awt.Font("楷体", 1, 18));javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(73, 73, 73)
.addComponent(jButton1)
.addGap(64, 64, 64)
.addComponent(jButton2)
.addContainerGap(80, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jComboBox1, 0, 233, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(38, 38, 38)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 233, Short.MAX_VALUE)))))
.addGap(24, 24, 24))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(40, 40, 40)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(43, 43, 43)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addGap(67, 67, 67)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addGap(50, 50, 50))
);pack();
}// </editor-fold>//GEN-END:initComponentsprivate void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {jTextField1.setText("");jTextField1.requestFocus();jTextArea1.setText("");}private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {String cName = jTextField1.getText();String ctype = jTextArea1.getText();int index = jComboBox1.getSelectedIndex();if (cName.equals("")) {JOptionPane.showMessageDialog(null, "课程名称不能为空,请重新输入!", "温馨提示",JOptionPane.ERROR_MESSAGE);jTextField1.requestFocus();return;}if (ctype.equals("")) {JOptionPane.showMessageDialog(null, "课程描述不能为空,请重新输入!", "温馨提示",JOptionPane.ERROR_MESSAGE);jTextField1.requestFocus();return;}CourseDao courseDao = new CourseDaoImpl();Course c = new Course(cName, ctype);int i = JOptionPane.showConfirmDialog(null, "确认添加该课程信息!", "温馨提示",JOptionPane.YES_NO_OPTION);if (i == 0) {Integer addCourse = courseDao.addCourse(c);if (index > 0) {if (addCourse > 0) {Major major = (Major) jComboBox1.getSelectedItem();boolean addMajorCourse = courseDao.addMajorCourse(addCourse, major.getMid());if (addMajorCourse) {JOptionPane.showMessageDialog(null, "添加课程以及所属专业信息成功!","温馨提示", JOptionPane.INFORMATION_MESSAGE);this.setVisible(false);} else {JOptionPane.showMessageDialog(null, "添加课程以及所属专业信息失败!","温馨提示", JOptionPane.ERROR_MESSAGE);}}} else {if (addCourse > 0) {JOptionPane.showMessageDialog(null, "添加课程信息成功!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);this.setVisible(false);} else {JOptionPane.showMessageDialog(null, "添加课程信息失败!", "温馨提示",JOptionPane.ERROR_MESSAGE);}}}}/*** @param args the command line arguments*/public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {AddCouDialog dialog = new AddCouDialog(new javax.swing.JFrame(), true);dialog.addWindowListener(new java.awt.event.WindowAdapter() {public void windowClosing(java.awt.event.WindowEvent e) {System.exit(0);}});dialog.setVisible(true);}});}//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JButton jButton1;private javax.swing.JButton jButton2;private javax.swing.JComboBox jComboBox1;private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;private javax.swing.JLabel jLabel4;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JTextArea jTextArea1;private javax.swing.JTextField jTextField1;// End of variables declaration//GEN-END:variables}

entity实体类
Class.java

package cn.com.zh.entity;public class Class {private int gid;private String gname;private String gtype;private int cid;private String cname;private int mid;private String mName;private int sid;//学生idprivate String sname;//学生姓名public String getCname() {return cname;}public void setCname(String cname) {this.cname = cname;}public int getCid() {return cid;}public void setCid(int cid) {this.cid = cid;}public int getGid() {return gid;}public void setGid(int gid) {this.gid = gid;}public String getGname() {return gname;}public void setGname(String gname) {this.gname = gname;}public String getGtype() {return gtype;}public void setGtype(String gtype) {this.gtype = gtype;}public int getMid() {return mid;}public void setMid(int mid) {this.mid = mid;}public String getmName() {return mName;}public void setmName(String mName) {this.mName = mName;}@Overridepublic String toString() {return gname;}public int getSid() {return sid;}public void setSid(int sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public Class() {super();// TODO Auto-generated constructor stub}public Class(String gname, int mid) {super();this.gname = gname;this.mid = mid;}public Class(String gname, String gtype, int mid) {super();this.gname = gname;this.gtype = gtype;this.mid = mid;}public Class(int gid, String gname, String gtype, int mid) {super();this.gid = gid;this.gname = gname;this.gtype = gtype;this.mid = mid;}public Class(String gname, String cname) {super();this.gname = gname;this.cname = cname;}}

Grade.java

package cn.com.zh.entity;public class Grade {private int sid;     //学生IDprivate String sName;//学生姓名private String cName;//课程名称private String gName;//班级名称private float score;//专业成绩public int getSid() {return sid;}public void setSid(int sid) {this.sid = sid;}public String getsName() {return sName;}public void setsName(String sName) {this.sName = sName;}public String getcName() {return cName;}public void setcName(String cName) {this.cName = cName;}public String getgName() {return gName;}public void setgName(String gName) {this.gName = gName;}public float getScore() {return score;}public void setScore(float score) {this.score = score;}@Overridepublic String toString() {return "Grade [sid=" + sid + ", sName=" + sName + ", cName=" + cName+ ", gName=" + gName + ", score=" + score + "]";}public Grade() {super();// TODO Auto-generated constructor stub}}

小游戏
GamePanel.java

package cn.com.zh.snake;import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Timer;import cn.com.zh.dao.UserDao;
import cn.com.zh.dao.UserDaoImp;
import cn.com.zh.entity.User;/*** * @author Administrator*蛇的游戏面板高度:650,高度:750*/public class GamePanel extends JPanel implements KeyListener,ActionListener {ImageIcon title=new ImageIcon("snake/title.jpg");ImageIcon body=new ImageIcon("snake/body.png");ImageIcon down=new ImageIcon("snake/down.png");ImageIcon food=new ImageIcon("snake/food.png");ImageIcon right=new ImageIcon("snake/right.png");ImageIcon left=new ImageIcon("snake/left.png");ImageIcon up=new ImageIcon("snake/up.png");ImageIcon foods=new ImageIcon("snake/foods.jpg");int snakeX[]=new int[750];int snakeY[]=new int[750];int len=3;//设置蛇的总长度int score=0;//定义蛇的分数int counts=0;//定义食物出现的次数//设置蛇的方向String dirction="R";//设置是否开始的游戏变量boolean isStart=false;//判断游戏是否结束boolean isOver=false;//定义一个定时器让它移动  第一个参数表示时间间隔Timer timer=new Timer(100, this);//定义一个随机函数让它随机产生食物Random random=new Random();int foodX;int foodY;//生成食物的方法public void creadFood(){counts++;foodX=random.nextInt(34)*25+25;foodY=random.nextInt(24)*25+75;}public void eatFood(){len++;if(counts%5==0){score+=random.nextInt(30)+20;}else{score+=10;}}public void initSanke(){isStart=false;isOver=false;score=0;len=3;dirction="R";counts=0;snakeX[0]=75;snakeY[0]=75;snakeX[1]=50;snakeY[1]=75;snakeX[2]=25;snakeY[2]=75;}@Overridepublic void paint(Graphics g) {g.fillRect(25, 75, 850, 600);title.paintIcon(this, g, 25, 11);if(dirction.equals("R")){right.paintIcon(this, g, snakeX[0], snakeY[0]);}else if(dirction.equals("L")){left.paintIcon(this, g, snakeX[0], snakeY[0]);}else if(dirction.equals("U")){up.paintIcon(this, g, snakeX[0], snakeY[0]);}else if(dirction.equals("D")){down.paintIcon(this, g, snakeX[0], snakeY[0]);}for (int i = 1; i <len; i++) {body.paintIcon(this, g, snakeX[i], snakeY[i]);}//判断游戏是否点击空格开始if(!isStart){g.setColor(Color.blue);g.setFont(new Font("楷体", Font.BOLD,20));g.drawString("开始/暂停", 425, 325);          }//绘制食物if(counts%5==0){foods.paintIcon(this, g, foodX, foodY);}else if(score==0){food.paintIcon(this, g, foodX, foodY);}else{food.paintIcon(this, g, foodX, foodY);}//绘制分数和蛇的长度g.setColor(Color.red);g.setFont(new Font("微软雅黑", Font.BOLD, 20));g.drawString("长度:"+len,650,30);g.setColor(Color.red);g.setFont(new Font("微软雅黑", Font.BOLD, 20));g.drawString("分数:"+score, 650,60);//判断游戏是否结束if(isOver){int i = JOptionPane.showConfirmDialog(null, "你死了,是否重新开始!!!","温馨提示", JOptionPane.YES_NO_OPTION);if(i==0){frame.dispose();new SnakeFrame(u).setVisible(true);}else{UserDao userDao=new UserDaoImp();u.setScore(score);boolean updatePlayScore = userDao.updatePlayScore(u);if(updatePlayScore){JOptionPane.showMessageDialog(null, "添加分数成功,返回贪吃蛇主界面!!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);frame.dispose();new cn.com.zh.ui.SnakeFrame(u).setVisible(true);}else{JOptionPane.showMessageDialog(null, "保存失败!", "温馨提示",JOptionPane.ERROR_MESSAGE);frame.dispose();new cn.com.zh.ui.SnakeFrame(u).setVisible(true);}}}}JFrame frame;User u;public GamePanel(JFrame frame,User u){this.frame=frame;this.u=u;this.setFocusable(true);this.addKeyListener(this);initSanke();creadFood();timer.start();}@Overridepublic void keyTyped(KeyEvent e) {}@Overridepublic void keyPressed(KeyEvent e) {if(e.getKeyCode()==KeyEvent.VK_SPACE){if(isOver){initSanke();}else{isStart=!isStart;//通过按下空格监听是否开始游戏}repaint();}else if(e.getKeyCode()==KeyEvent.VK_RIGHT && !dirction.equals("L")){//通过键盘控制蛇的移动dirction="R";}else if(e.getKeyCode()==KeyEvent.VK_LEFT && !dirction.equals("R")){dirction="L";}else if(e.getKeyCode()==KeyEvent.VK_UP && !dirction.equals("D")){dirction="U";}else if(e.getKeyCode()==KeyEvent.VK_DOWN && !dirction.equals("U")){dirction="D";}if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {isStart=false;int i = JOptionPane.showConfirmDialog(null, "你确定要退出这么经典的游戏吗?","温馨提示", JOptionPane.YES_NO_OPTION);if (i == 0) {UserDao userDao = new UserDaoImp();u.setScore(score);boolean updatePlayScore = userDao.updatePlayScore(u);if (updatePlayScore) {JOptionPane.showMessageDialog(null, "保存游戏分数成功,返回贪吃蛇主界面!!","温馨提示", JOptionPane.INFORMATION_MESSAGE);frame.setVisible(false);new cn.com.zh.ui.SnakeFrame(u).setVisible(true);} else {JOptionPane.showMessageDialog(null, "保存游戏分数成功!", "温馨提示",JOptionPane.ERROR_MESSAGE);frame.setVisible(false);new cn.com.zh.ui.SnakeFrame(u).setVisible(true);}} else {isStart=true;}}}@Overridepublic void keyReleased(KeyEvent e) {}@Overridepublic void actionPerformed(ActionEvent e) {if(isStart && !isOver){//启动定时器timer.start();//蛇身的移动for (int i = len; i >0; i--) {snakeX[i]=snakeX[i-1];snakeY[i]=snakeY[i-1];}//蛇头的移动if(dirction.equals("R")){if(snakeX[0]>=850){snakeX[0]=25;}else{snakeX[0]=snakeX[0]+25;}}else if(dirction.equals("L")){if(snakeX[0]<=25){snakeX[0]=850;}else{snakeX[0]=snakeX[0]-25;}}else if(dirction.equals("U")){if(snakeY[0]<=75){snakeY[0]=650;}else{snakeY[0]=snakeY[0]-25;}}else if(dirction.equals("D")){if(snakeY[0]>=650){snakeY[0]=75;}else{snakeY[0]=snakeY[0]+25;}}//蛇吃到食物if(snakeX[0]==foodX && snakeY[0]==foodY){eatFood();creadFood();//判断食物是否在蛇的身上产生for (int i = 0; i < len; i++) {if(foodX==snakeX[i] && foodY==snakeY[i]){foodX=random.nextInt(34)*25+25;foodY=random.nextInt(24)*25+75;break;}}}for (int i=1;i< len; i++) {if(snakeX[0]==snakeX[i] && snakeY[0]==snakeY[i]){isOver=true;}   }repaint();}}}

SnakeFrame.java

package cn.com.zh.snake;import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.JFrame;
import javax.swing.JOptionPane;import cn.com.zh.entity.User;
import cn.com.zh.ui.MainFrame;public class SnakeFrame extends JFrame {/*** @param arg*绘制贪吃蛇的游戏主窗口 */public SnakeFrame(final User u){setTitle("贪吃蛇最强版");setSize(925, 750);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);GamePanel gamePanel=new GamePanel(this,u);this.add(gamePanel);setVisible(true);setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);this.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {int i = JOptionPane.showConfirmDialog(null, "确定要退出,返回主界面吗?","温馨提示", JOptionPane.YES_NO_OPTION);if (i == 0) {setVisible(false);new cn.com.zh.ui.SnakeFrame(u).setVisible(true);}}});}//   public static void main(String[] args) {//      new SnakeFrame();
//  }}

音乐系统
MusicThread.java

package cn.com.zh.thread;import java.io.FileInputStream;
import java.io.FileNotFoundException;import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;/*** * @author Administrator*实现播放音乐的线程*/public class MusicThread implements Runnable {private Player player;//定义播放音乐变量//创建播放音乐的构造方法public MusicThread(String path){try {FileInputStream in=new FileInputStream(path);player=new Player(in);Thread th=new Thread(this);th.start();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} }//关闭资源关闭音乐public void closes(){player.close();}@Overridepublic void run() {try {player.play();} catch (JavaLayerException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

班级
ClassInterna.java

/** ClassInterna.java** Created on __DATE__, __TIME__*/package cn.com.zh.viewInterna;import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;
import java.util.Vector;import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;import cn.com.zh.dao.ClassDao;
import cn.com.zh.dao.ClassDaoImpl;
import cn.com.zh.dao.CourseDao;
import cn.com.zh.dao.CourseDaoImpl;
import cn.com.zh.dao.MajorDao;
import cn.com.zh.dao.MajorDaoImpl;
import cn.com.zh.dao.RoleDao;
import cn.com.zh.dao.RoleDaoImpl;
import cn.com.zh.dao.StudentDao;
import cn.com.zh.dao.StudentDaoImpl;
import cn.com.zh.dialog.AddClassDialog;
import cn.com.zh.dialog.AllClassStuDialog;
import cn.com.zh.dialog.UpdateClassDialog;
import cn.com.zh.entity.Class;
import cn.com.zh.entity.Course;
import cn.com.zh.entity.Major;
import cn.com.zh.entity.Role;
import cn.com.zh.entity.Student;
import cn.com.zh.util.ViewUtils;/**** @author  __USER__*/
public class ClassInterna extends javax.swing.JInternalFrame {/** Creates new form ClassInterna */ViewUtils utils = new ViewUtils();JFrame frame;public ClassInterna(JFrame frame) {this.frame = frame;initComponents();ImageIcon icon = new ImageIcon("img/classTit.png");setFrameIcon(icon);allClass(null);//        jTable1.addMouseListener(new MouseAdapter() {//         @Override//            public void mouseClicked(MouseEvent e) {//              if (e.getClickCount() == 2) {//                   JTable source = (JTable) e.getSource();//                  int row = source.rowAtPoint(e.getPoint());//                   int column = source.columnAtPoint(e.getPoint());//                 String valueAt = (String) jTable1.getValueAt(row, 2);//                    JOptionPane.showMessageDialog(null, valueAt);//             }//         }//     });lodeMajorName();tableMouse();}//动态加载专业的方法public void lodeMajorName() {MajorDao majorDao = new MajorDaoImpl();List<Major> lodeMajorName = majorDao.lodeMajorName();jComboBox1.addItem("----请选择----");for (int i = 0; i < lodeMajorName.size(); i++) {Major major = lodeMajorName.get(i);jComboBox1.addItem(major);}}//表格的事件监听public void tableMouse() {jTable1.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if (e.getClickCount() == 2) {int column = jTable1.getSelectedColumn();int row = jTable1.getSelectedRow();if (column == 4) {Class class1 = list.get(row);new AllClassStuDialog(frame, true, class1);}}}});}/** This method is called from within the constructor to* initialize the form.* WARNING: Do NOT modify this code. The content of this method is* always regenerated by the Form Editor.*///GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jComboBox1 = new javax.swing.JComboBox();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();setClosable(true);
setIconifiable(true);
setMaximizable(true);
setTitle("\u73ed\u7ea7\u4fe1\u606f");jLabel1.setFont(new java.awt.Font("楷体", 1, 18));
jLabel1.setText("\u73ed\u7ea7\u540d\u79f0:");jTextField1.setFont(new java.awt.Font("楷体", 1, 18));jButton2.setFont(new java.awt.Font("楷体", 1, 18));
jButton2.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\addStuBut.png")); // NOI18N
jButton2.setText("\u589e  \u52a0");
jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);
}
});jButton3.setFont(new java.awt.Font("楷体", 1, 18));
jButton3.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\StuSure.png")); // NOI18N
jButton3.setText("\u4fee  \u6539");
jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);
}
});jButton4.setFont(new java.awt.Font("楷体", 1, 18));
jButton4.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\delete.png")); // NOI18N
jButton4.setText("\u5220  \u9664");
jButton4.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt);
}
});jButton1.setFont(new java.awt.Font("楷体", 1, 18));
jButton1.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\query.png")); // NOI18N
jButton1.setText("\u67e5  \u8be2");
jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);
}
});jTable1.setFont(new java.awt.Font("楷体", 1, 18));
jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object [][] {},new String [] {"班级编号", "班级名称", "班级描述", "专业名称", "操       作"}
) {boolean[] canEdit = new boolean [] {false, false, false, false, false};public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit [columnIndex];}
});
jTable1.setOpaque(false);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {public void mouseClicked(java.awt.event.MouseEvent evt) {jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);jComboBox1.setFont(new java.awt.Font("楷体", 1, 14));jLabel2.setFont(new java.awt.Font("楷体", 1, 18));
jLabel2.setText("\u4e13\u4e1a\u540d\u79f0:");jLabel3.setFont(new java.awt.Font("楷体", 1, 14));
jLabel3.setForeground(new java.awt.Color(255, 0, 0));
jLabel3.setText("\u8bf7\u7528\u9f20\u6807\u53cc\u51fb\u67e5\u770b\u8be6\u7ec6\uff0c\u67e5\u770b\u6bcf\u4e2a\u73ed\u7ea7\u76f8\u5e94\u7684\u4eba\u6570");javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(88, 88, 88)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton2)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jButton3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton4))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(19, 19, 19)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)
.addGap(62, 62, 62))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(23, 23, 23)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 782, Short.MAX_VALUE)
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(247, Short.MAX_VALUE)
.addComponent(jLabel3)
.addGap(242, 242, 242))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(32, 32, 32)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jButton1)
.addComponent(jLabel2)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton2)
.addComponent(jButton4)
.addComponent(jButton3))
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 466, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel3)
.addContainerGap())
);pack();
}// </editor-fold>//GEN-END:initComponentsprivate void jTable1MouseClicked(java.awt.event.MouseEvent evt) {}//查询private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {String gname = jTextField1.getText();int index = jComboBox1.getSelectedIndex();int majorID = 0;if (index > 0) {Major major = (Major) jComboBox1.getSelectedItem();majorID = major.getMid();} else {majorID = 0;}Class c = new Class(gname, majorID);allClass(c);}//删除班级信息按钮private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {deleteClass();}//修改班级信息按钮private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {updateClass();}//添加班级信息按钮private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {new AddClassDialog(frame, true).setVisible(true);allClass(null);}//查询所有班级的方法public void allClass(Class c) {ClassDao classDao = new ClassDaoImpl();list = classDao.allClass(c);if (list.size() <= 0) {JOptionPane.showMessageDialog(null, "暂时没有该班级信息");} else {DefaultTableModel model = (DefaultTableModel) jTable1.getModel();model.setRowCount(0);for (int i = 0; i < list.size(); i++) {classInfo = list.get(i);Vector rowData = new Vector();rowData.add(classInfo.getGid());rowData.add(classInfo.getGname());rowData.add(classInfo.getGtype());rowData.add(classInfo.getmName());rowData.add("查看详细");model.addRow(rowData);}utils.fitTableColumns(jTable1);}}//修改班级信息public void updateClass() {int selectedRow = jTable1.getSelectedRow();if (selectedRow < 0) {JOptionPane.showMessageDialog(null, "请选择您需要修改班级的信息", "温馨提示",JOptionPane.INFORMATION_MESSAGE);} else {classInfo = list.get(selectedRow);new UpdateClassDialog(frame, true).setVisible(true);allClass(null);}}//删除班级信息public void deleteClass() {int selectedRow = jTable1.getSelectedRow();if (selectedRow == -1) {JOptionPane.showMessageDialog(null, "请选择您需要删除班级的信息", "温馨提示",JOptionPane.ERROR_MESSAGE);} else {classInfo = list.get(selectedRow);StudentDao dao=new StudentDaoImpl();List<Student> studentByCid = dao.findStudentByCid(classInfo.getGid());if(studentByCid.size()<=0){ClassDao classDao = new ClassDaoImpl();int i = JOptionPane.showConfirmDialog(null, "是否确认删除班级信息!", "温馨提示",JOptionPane.YES_NO_OPTION);if (i == 0) {boolean deleteClass = classDao.deleteClass(classInfo.getGid());if (deleteClass) {JOptionPane.showMessageDialog(null, "删除成功!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);allClass(null);} else {JOptionPane.showMessageDialog(null, "删除失败!", "温馨提示",JOptionPane.ERROR_MESSAGE);}}}else{JOptionPane.showMessageDialog(null, "该班级还存在学生不能删除该班级信息!", "温馨提示",JOptionPane.ERROR_MESSAGE);}}}//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JButton jButton1;private javax.swing.JButton jButton2;private javax.swing.JButton jButton3;private javax.swing.JButton jButton4;private javax.swing.JComboBox jComboBox1;private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JTable jTable1;private javax.swing.JTextField jTextField1;// End of variables declaration//GEN-END:variablesprivate List<Class> list;public static Class classInfo;}

成绩
GradeInterna.java

/** GradeInterna.java** Created on __DATE__, __TIME__*/package cn.com.zh.viewInterna;import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.List;
import java.util.Vector;import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;import cn.com.zh.dao.ClassDao;
import cn.com.zh.dao.ClassDaoImpl;
import cn.com.zh.dao.MajorDao;
import cn.com.zh.dao.MajorDaoImpl;
import cn.com.zh.dao.StudentDao;
import cn.com.zh.dao.StudentDaoImpl;
import cn.com.zh.dialog.AddGradeDialog;
import cn.com.zh.dialog.GradeDialog;
import cn.com.zh.entity.Class;
import cn.com.zh.entity.Major;
import cn.com.zh.entity.Student;
import cn.com.zh.util.ViewUtils;/**** @author  __USER__*/
public class GradeInterna extends javax.swing.JInternalFrame {/** Creates new form GradeInterna */JFrame frame;ViewUtils utils = new ViewUtils();public GradeInterna(JFrame frame) {this.frame = frame;initComponents();ImageIcon image = new ImageIcon("img/couTitle.png");setFrameIcon(image);allStu(null);lodeClassName();lodeMajorName();tableMouse();}//动态加载专业名称public void lodeMajorName() {MajorDao majorDao = new MajorDaoImpl();List<Major> lodeMajorName = majorDao.lodeMajorName();jComboBox2.addItem("----请选择----");for (int i = 0; i < lodeMajorName.size(); i++) {Major major = lodeMajorName.get(i);jComboBox2.addItem(major);}}//动态加载班级名称public void lodeClassName() {ClassDao classDao = new ClassDaoImpl();List<Class> lodeClassName = classDao.lodeClassName();jComboBox1.addItem("----请选择----");for (int i = 0; i < lodeClassName.size(); i++) {Class class1 = lodeClassName.get(i);jComboBox1.addItem(class1);}}//为表格添加鼠标点击事件public void tableMouse() {jTable1.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if (e.getClickCount() == 2) {int column = jTable1.getSelectedColumn();int row = jTable1.getSelectedRow();if (column == 5) {Student student2 = list.get(row);new GradeDialog(frame, true, student2);}if (column == 6) {Student deleteStu = list.get(row);StudentDao studentDao = new StudentDaoImpl();int i = JOptionPane.showConfirmDialog(null,"是否确认删除该学生成绩!", "温馨提示",JOptionPane.YES_NO_OPTION);if (i == 0) {boolean deleteScoreStu = studentDao.deleteScoreStu(deleteStu.getSid());if (deleteScoreStu) {JOptionPane.showMessageDialog(null, "删除成功!","温馨提示",JOptionPane.INFORMATION_MESSAGE);}} else {JOptionPane.showMessageDialog(null, "该学生成绩已被删除!","温馨提示", JOptionPane.ERROR_MESSAGE);}}if (column == 7) {Student student2 = list.get(row);new AddGradeDialog(frame, true, student2);}}}});}/** This method is called from within the constructor to* initialize the form.* WARNING: Do NOT modify this code. The content of this method is* always regenerated by the Form Editor.*///GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();
jButton1 = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jComboBox2 = new javax.swing.JComboBox();
jLabel4 = new javax.swing.JLabel();setClosable(true);
setIconifiable(true);
setMaximizable(true);
setTitle("\u6210\u7ee9\u7ba1\u7406");jTable1.setFont(new java.awt.Font("楷体", 1, 18));
jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object [][] {},new String [] {"学生序号", "学       号", "姓       名", "专    业&编    号", "班       级", "成绩入口", "操        作", "成绩录入"}
) {boolean[] canEdit = new boolean [] {false, false, false, false, false, false, false, false};public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit [columnIndex];}
});
jTable1.setOpaque(false);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {public void mouseClicked(java.awt.event.MouseEvent evt) {jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);jLabel1.setFont(new java.awt.Font("楷体", 1, 18));
jLabel1.setText("\u5b66\u751f\u540d\u79f0:");jTextField1.setFont(new java.awt.Font("楷体", 1, 18));jLabel2.setFont(new java.awt.Font("楷体", 1, 18));
jLabel2.setText("\u6240\u5c5e\u73ed\u7ea7:");jComboBox1.setFont(new java.awt.Font("楷体", 1, 14));jButton1.setFont(new java.awt.Font("楷体", 1, 18));
jButton1.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\query.png")); // NOI18N
jButton1.setText("\u67e5  \u8be2");
jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);
}
});jLabel3.setFont(new java.awt.Font("楷体", 1, 18));
jLabel3.setText("\u6240\u5c5e\u4e13\u4e1a:");jComboBox2.setFont(new java.awt.Font("楷体", 1, 14));jLabel4.setFont(new java.awt.Font("楷体", 1, 18));
jLabel4.setForeground(new java.awt.Color(255, 0, 51));
jLabel4.setText("\u8bf7\u53cc\u51fb\u9f20\u6807\u70b9\u51fb\u76f8\u5bf9\u5e94\u7684\u529f\u80fd\u5165\u53e3\uff0c\u5b9e\u73b0\u76f8\u5bf9\u5e94\u7684\u529f\u80fd");javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
.addComponent(jButton1)
.addContainerGap(43, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(275, 275, 275))
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(56, 56, 56)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1))
.addGap(33, 33, 33)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel4)
.addGap(32, 32, 32))
);pack();
}// </editor-fold>//GEN-END:initComponentsprivate void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {String stuName = jTextField1.getText();int indexClass = jComboBox1.getSelectedIndex();int indexMajor = jComboBox2.getSelectedIndex();int ClassID = 0;int MajorID = 0;if (indexClass > 0) {Class className = (Class) jComboBox1.getSelectedItem();ClassID = className.getGid();} else {ClassID = 0;}if (indexMajor > 0) {Major majorName = (Major) jComboBox2.getSelectedItem();MajorID = majorName.getMid();} else {MajorID = 0;}Student s = new Student(stuName, ClassID, MajorID);allStu(s);}private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {}//查询学生的方法public void allStu(Student s) {StudentDao studentDao = new StudentDaoImpl();list = studentDao.findAllSorce(s);if (list.size() <= 0) {JOptionPane.showMessageDialog(null, "暂时没有该学生信息");} else {DefaultTableModel model = (DefaultTableModel) jTable1.getModel();model.setRowCount(0);for (int i = 0; i < list.size(); i++) {student = list.get(i);Vector rowData = new Vector<>();rowData.add(i + 1);rowData.add(student.getSid());rowData.add(student.getSname());rowData.add(student.getMname() + "&" + student.getMid());rowData.add(student.getCname());rowData.add("查看成绩");rowData.add("删除成绩");rowData.add("录入成绩");model.addRow(rowData);}utils.fitTableColumns(jTable1);}}//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JButton jButton1;private javax.swing.JComboBox jComboBox1;private javax.swing.JComboBox jComboBox2;private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;private javax.swing.JLabel jLabel4;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JTable jTable1;private javax.swing.JTextField jTextField1;// End of variables declaration//GEN-END:variablesprivate List<Student> list;public static Student student;}

专业
MajorInterna.java

/** MajorInterna.java** Created on __DATE__, __TIME__*/package cn.com.zh.viewInterna;import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;import cn.com.zh.dao.ClassDao;
import cn.com.zh.dao.ClassDaoImpl;
import cn.com.zh.dao.MajorDao;
import cn.com.zh.dao.MajorDaoImpl;
import cn.com.zh.dialog.AddMajorDialog;
import cn.com.zh.dialog.UpdateMajorDialog;
import cn.com.zh.entity.Class;
import cn.com.zh.entity.Course;
import cn.com.zh.entity.Major;
import cn.com.zh.util.ViewUtils;/**** @author  __USER__*/
public class MajorInterna extends javax.swing.JInternalFrame {/** Creates new form MajorInterna */JFrame frame;ViewUtils utils = new ViewUtils();public MajorInterna(JFrame frame) {this.frame = frame;initComponents();ImageIcon image = new ImageIcon("img/couTitle.png");setFrameIcon(image);allMajor(null);jTable1.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if (e.getClickCount() == 2) {//获取表格中的每行和第一列JTable source = (JTable) e.getSource();//获取表格中的每行int row = source.rowAtPoint(e.getPoint());//获取表格中每行第1列的值int mid = (int) jTable1.getValueAt(row, 0);MajorDao majorDao = new MajorDaoImpl();List<Course> findCourseByMid = majorDao.findCourseByMid(mid);if (findCourseByMid.size() <= 0) {JOptionPane.showMessageDialog(null, "改专业下暂时没有课程信息!!!","温馨提示", JOptionPane.ERROR_MESSAGE);} else {//创建集合保存课程名字List<String> courseName_list = new ArrayList<String>();for (int i = 0; i < findCourseByMid.size(); i++) {//获取集合中的课程信息Course course = findCourseByMid.get(i);//把课程名字添加到集合中courseName_list.add(course.getCname());}//定义字符串保存课程名字,初始化为nullString mname = "";//遍历保存课程的集合for (int i = 0; i < courseName_list.size(); i++) {//拼接课程名字mname += courseName_list.get(i) + "\n";}JOptionPane.showMessageDialog(null, "该专业下所包含的课程:\n"+ mname + "\n", "温馨提示",JOptionPane.INFORMATION_MESSAGE);}}}});}/** This method is called from within the constructor to* initialize the form.* WARNING: Do NOT modify this code. The content of this method is* always regenerated by the Form Editor.*///GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jLabel1 = new javax.swing.JLabel();jTextField1 = new javax.swing.JTextField();jButton2 = new javax.swing.JButton();jButton3 = new javax.swing.JButton();jButton4 = new javax.swing.JButton();jButton1 = new javax.swing.JButton();jScrollPane1 = new javax.swing.JScrollPane();jTable1 = new javax.swing.JTable();jLabel2 = new javax.swing.JLabel();jLabel3 = new javax.swing.JLabel();jTextField2 = new javax.swing.JTextField();setClosable(true);setIconifiable(true);setMaximizable(true);setTitle("\u4e13\u4e1a\u7ba1\u7406");jLabel1.setFont(new java.awt.Font("楷体", 1, 18));jLabel1.setText("\u4e13\u4e1a\u540d\u79f0:");jTextField1.setFont(new java.awt.Font("楷体", 1, 18));jButton2.setFont(new java.awt.Font("楷体", 1, 18));jButton2.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\addStuBut.png")); // NOI18NjButton2.setText("\u589e  \u52a0");jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);}});jButton3.setFont(new java.awt.Font("楷体", 1, 18));jButton3.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\StuSure.png")); // NOI18NjButton3.setText("\u4fee  \u6539");jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);}});jButton4.setFont(new java.awt.Font("楷体", 1, 18));jButton4.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\delete.png")); // NOI18NjButton4.setText("\u5220  \u9664");jButton4.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt);}});jButton1.setFont(new java.awt.Font("楷体", 1, 18));jButton1.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\query.png")); // NOI18NjButton1.setText("\u67e5  \u8be2");jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);}});jTable1.setFont(new java.awt.Font("楷体", 1, 18));jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {}, new String[] { "专业编号", "专业名称", "专业描述" }) {boolean[] canEdit = new boolean[] { false, false, false };public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit[columnIndex];}});jTable1.setOpaque(false);jTable1.addMouseListener(new java.awt.event.MouseAdapter() {public void mouseClicked(java.awt.event.MouseEvent evt) {jTable1MouseClicked(evt);}});jScrollPane1.setViewportView(jTable1);jLabel2.setFont(new java.awt.Font("楷体", 1, 18));jLabel2.setForeground(new java.awt.Color(255, 0, 0));jLabel2.setText("\u53cc\u51fb\u9f20\u6807\u70b9\u51fb\u67e5\u8be2\u6bcf\u4e2a\u4e13\u4e1a\u4e0b\u6240\u5bf9\u5e94\u7684\u8bfe\u7a0b");jLabel3.setFont(new java.awt.Font("楷体", 1, 18));jLabel3.setText("\u4e13\u4e1a\u63cf\u8ff0:");jTextField2.setFont(new java.awt.Font("楷体", 1, 18));javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(jScrollPane1,javax.swing.GroupLayout.DEFAULT_SIZE,833,Short.MAX_VALUE).addContainerGap()).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(153,153,153).addComponent(jButton2)).addGroup(layout.createSequentialGroup().addGap(39,39,39).addComponent(jLabel1).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE,186,javax.swing.GroupLayout.PREFERRED_SIZE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addGroup(javax.swing.GroupLayout.Alignment.LEADING,layout.createSequentialGroup().addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jButton3).addGap(109,109,109).addComponent(jButton4)).addGroup(javax.swing.GroupLayout.Alignment.LEADING,layout.createSequentialGroup().addGap(46,46,46).addComponent(jLabel3).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jTextField2,javax.swing.GroupLayout.PREFERRED_SIZE,186,javax.swing.GroupLayout.PREFERRED_SIZE).addGap(34,34,34).addComponent(jButton1))).addContainerGap(54,Short.MAX_VALUE)).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addComponent(jLabel2).addGap(238,238,238)))));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(24, 24,24).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE))).addGroup(layout.createSequentialGroup().addGap(22, 22,22).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(5,5,5).addComponent(jLabel3)).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jTextField2,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jButton1))))).addGap(36, 36, 36).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jButton2).addComponent(jButton3).addComponent(jButton4)).addGap(30, 30, 30).addComponent(jScrollPane1,javax.swing.GroupLayout.DEFAULT_SIZE,459, Short.MAX_VALUE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jLabel2).addGap(21, 21, 21)));pack();}// </editor-fold>//GEN-END:initComponentsprivate void jTable1MouseClicked(java.awt.event.MouseEvent evt) {}//查询按钮的事件监听private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {String majorName = jTextField1.getText();String mType = jTextField2.getText();Major m = new Major(majorName, mType);allMajor(m);}private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {DeleteMajor();}//修改按钮private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {UpdateMajor();}//增加按钮private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {new AddMajorDialog(frame, true).setVisible(true);allMajor(null);}//查询的方法public void allMajor(Major m) {MajorDao majorDao = new MajorDaoImpl();list = majorDao.allMajor(m);if (list.size() <= 0) {JOptionPane.showMessageDialog(null, "暂时没有该专业信息");} else {DefaultTableModel model = (DefaultTableModel) jTable1.getModel();model.setRowCount(0);for (int i = 0; i < list.size(); i++) {major = list.get(i);Vector rowData = new Vector<>();rowData.add(major.getMid());rowData.add(major.getmName());rowData.add(major.getmType());model.addRow(rowData);}utils.fitTableColumns(jTable1);}}//删除专业的方法public void DeleteMajor() {int selectedRow = jTable1.getSelectedRow();if (selectedRow < 0) {JOptionPane.showMessageDialog(null, "请选择您需要删除专业的信息", "温馨提示",JOptionPane.INFORMATION_MESSAGE);} else {major = list.get(selectedRow);ClassDao dao=new ClassDaoImpl();List<Class> infoByMid = dao.findClassInfoByMid(major.getMid());if(infoByMid.size()<=0){MajorDao majorDao = new MajorDaoImpl();int i = JOptionPane.showConfirmDialog(null, "是否确认删除专业信息!","温馨提示", JOptionPane.YES_NO_OPTION);if (i == 0) {boolean b = majorDao.deleteMajor(major.getMid());if (b) {JOptionPane.showMessageDialog(null, "删除成功!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);allMajor(null);} else {JOptionPane.showMessageDialog(null, "删除失败!", "温馨提示",JOptionPane.ERROR_MESSAGE);}}}else{JOptionPane.showMessageDialog(null, "该专业下有相应的班级,暂时不能删除!!!", "温馨提示",JOptionPane.ERROR_MESSAGE);}}}//修改专业的方法public void UpdateMajor() {int selectedRow = jTable1.getSelectedRow();if (selectedRow == -1) {JOptionPane.showMessageDialog(null, "请选择您需要修改专业的信息", "温馨提示",JOptionPane.INFORMATION_MESSAGE);} else {major = list.get(selectedRow);new UpdateMajorDialog(frame, true).setVisible(true);allMajor(null);}}//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JButton jButton1;private javax.swing.JButton jButton2;private javax.swing.JButton jButton3;private javax.swing.JButton jButton4;private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JTable jTable1;private javax.swing.JTextField jTextField1;private javax.swing.JTextField jTextField2;// End of variables declaration//GEN-END:variablesprivate List<Major> list;public static Major major;}

角色
RoleInterna.java

/** RoleInterna.java** Created on __DATE__, __TIME__*/package cn.com.zh.viewInterna;import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;
import java.util.Vector;import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;import cn.com.zh.dao.RoleDao;
import cn.com.zh.dao.RoleDaoImpl;
import cn.com.zh.dialog.AddRoleDialog;
import cn.com.zh.dialog.UpdateRoleDialog;
import cn.com.zh.dialog.ViewMenusByRid;
import cn.com.zh.entity.Role;
import cn.com.zh.entity.User;
import cn.com.zh.util.ViewUtils;/**** @author  __USER__*/
public class RoleInterna extends javax.swing.JInternalFrame {/** Creates new form RoleInterna */JFrame frame;ViewUtils utils = new ViewUtils();public RoleInterna(JFrame frame) {this.frame = frame;initComponents();findAll(null);tableMouse();}public void tableMouse(){jTable1.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if(e.getClickCount()==2){int column = jTable1.getSelectedColumn();if(column==3){int row = jTable1.getSelectedRow();Role role2 = list.get(row);new ViewMenusByRid(frame, true,role2).setVisible(true);}}}});}/** This method is called from within the constructor to* initialize the form.* WARNING: Do NOT modify this code. The content of this method is* always regenerated by the Form Editor.*///GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jScrollPane1 = new javax.swing.JScrollPane();jTable1 = new javax.swing.JTable();jLabel1 = new javax.swing.JLabel();jButton2 = new javax.swing.JButton();jTextField1 = new javax.swing.JTextField();jButton3 = new javax.swing.JButton();jButton4 = new javax.swing.JButton();jLabel2 = new javax.swing.JLabel();jButton1 = new javax.swing.JButton();jTextField2 = new javax.swing.JTextField();setClosable(true);setIconifiable(true);setMaximizable(true);setTitle("\u89d2\u8272\u7ba1\u7406");jTable1.setFont(new java.awt.Font("楷体", 1, 18));jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {}, new String[] { "角色编号", "角色名称", "角色描述", "查看详细" }) {boolean[] canEdit = new boolean[] { false, false, false, false };public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit[columnIndex];}});jTable1.setOpaque(false);jTable1.addMouseListener(new java.awt.event.MouseAdapter() {public void mouseClicked(java.awt.event.MouseEvent evt) {jTable1MouseClicked(evt);}});jScrollPane1.setViewportView(jTable1);jLabel1.setFont(new java.awt.Font("楷体", 1, 18));jLabel1.setText("\u89d2\u8272\u540d\u79f0:");jButton2.setFont(new java.awt.Font("楷体", 1, 18));jButton2.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\addStuBut.png")); // NOI18NjButton2.setText("\u589e  \u52a0");jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);}});jTextField1.setFont(new java.awt.Font("楷体", 1, 18));jButton3.setFont(new java.awt.Font("楷体", 1, 18));jButton3.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\StuSure.png")); // NOI18NjButton3.setText("\u4fee  \u6539");jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);}});jButton4.setFont(new java.awt.Font("楷体", 1, 18));jButton4.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\delete.png")); // NOI18NjButton4.setText("\u5220  \u9664");jButton4.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt);}});jLabel2.setFont(new java.awt.Font("楷体", 1, 18));jLabel2.setText("\u89d2\u8272\u63cf\u8ff0:");jButton1.setFont(new java.awt.Font("楷体", 1, 18));jButton1.setIcon(new javax.swing.ImageIcon("D:\\software\\MyEclipse10Packe\\EndDom\\img\\query.png")); // NOI18NjButton1.setText("\u67e5  \u8be2");jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);}});jTextField2.setFont(new java.awt.Font("楷体", 1, 18));javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jLabel1).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE,226,javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,30, Short.MAX_VALUE).addComponent(jLabel2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jTextField2,javax.swing.GroupLayout.PREFERRED_SIZE,202,javax.swing.GroupLayout.PREFERRED_SIZE).addGap(33, 33, 33).addComponent(jButton1).addGap(47, 47, 47)).addGroup(layout.createSequentialGroup().addGap(23, 23, 23).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jScrollPane1,javax.swing.GroupLayout.Alignment.TRAILING,javax.swing.GroupLayout.DEFAULT_SIZE,795, Short.MAX_VALUE).addGroup(layout.createSequentialGroup().addGap(104,104,104).addComponent(jButton2).addGap(80, 80,80).addComponent(jButton3).addGap(92, 92,92).addComponent(jButton4).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,162,javax.swing.GroupLayout.PREFERRED_SIZE))).addGap(38, 38, 38)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(24, 24, 24).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1).addComponent(jButton1).addComponent(jLabel2).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jTextField2,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(18, 18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jButton2).addComponent(jButton3).addComponent(jButton4)).addGap(19, 19, 19).addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,436,javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(50, Short.MAX_VALUE)));pack();}// </editor-fold>//GEN-END:initComponents//查询语句按钮监听private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {String rname = jTextField1.getText();String rdesc = jTextField2.getText();System.out.println(rname);Role r = new Role(rname, rdesc);findAll(r);}//删除按钮private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {deleteRole();}//修改的方法private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {updateRole();}//增加角色按钮private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {new AddRoleDialog(frame, true).setVisible(true);findAll(null);}private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {}// 查询所有角色用户public void findAll(Role r) {RoleDao roleDao = new RoleDaoImpl();list = roleDao.findall(r);if (list.size() <= 0) {JOptionPane.showMessageDialog(null, "暂时没有该角色信息", "温馨提示",JOptionPane.ERROR_MESSAGE);} else {DefaultTableModel model = (DefaultTableModel) jTable1.getModel();model.setRowCount(0);for (int i = 0; i < list.size(); i++) {role = list.get(i);Vector rowData = new Vector<>();rowData.add(role.getRid());rowData.add(role.getRname());rowData.add(role.getRdesc());rowData.add("查       看");model.addRow(rowData);}utils.fitTableColumns(jTable1);}}//删除角色的方法public void deleteRole() {int row = jTable1.getSelectedRow();if (row < 0) {JOptionPane.showMessageDialog(null, "请选择你需要删除了角色?", "温馨提示",JOptionPane.ERROR_MESSAGE);return;}role = list.get(row);RoleDao roleDao = new RoleDaoImpl();int i = JOptionPane.showConfirmDialog(null, "你确认要删除该角色信息吗?", "温馨提示",JOptionPane.YES_NO_OPTION);if (i == 0) {List<User> roleUser = roleDao.findRoleUser(role.getRid());if (roleUser.size() <= 0) {boolean daleteRole = roleDao.daleteRole(role.getRid());if (daleteRole) {JOptionPane.showMessageDialog(null, "删除角色信息成功!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);findAll(null);} else {JOptionPane.showMessageDialog(null, "删除角色信息失败!", "温馨提示",JOptionPane.ERROR_MESSAGE);}} else {JOptionPane.showMessageDialog(null, "您需要删除的角色已被用户使用,无法删除","温馨提示", JOptionPane.ERROR_MESSAGE);}}}//修改的方法public void updateRole() {int row = jTable1.getSelectedRow();if (row < 0) {JOptionPane.showMessageDialog(null, "请选择你需要修改角色的信息?", "温馨提示",JOptionPane.ERROR_MESSAGE);} else {role = list.get(row);new UpdateRoleDialog(frame, true).setVisible(true);findAll(null);}}//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JButton jButton1;private javax.swing.JButton jButton2;private javax.swing.JButton jButton3;private javax.swing.JButton jButton4;private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JTable jTable1;private javax.swing.JTextField jTextField1;private javax.swing.JTextField jTextField2;// End of variables declaration//GEN-END:variablesprivate List<Role> list;public static Role role;}

写在最后

如果运行代码中遇到问题,或者需要完整源码和报告,可以加博主V交流:Code2Life2

觉得有用,记得一键三连哦!

Swing+Mysql实现的学院管理系统(角色:学生、教师、管理员 功能包含学生管理、教师管理、班级管理、成绩管理、点名考勤系统、休闲游戏、校园通信、音乐系统、留言管理、专业管理等)相关推荐

  1. 基于Java+Swing+mysql餐厅点餐管理系统

    基于Java+Swing+mysql餐厅点餐管理系统 一.系统介绍 二.功能展示 1.用户登陆 2.用户注册(顾客) 3.顾客可以点餐 4.顾客可以查看订单信息 5.顾客可以修改个人信息 6.新增套餐 ...

  2. Eclipse+Java+Swing+Mysql实现员工信息管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 二.系统展示 1.登录系统 2.主页面 3.部门管理 4.职位管理 5.员工管理 三.部分代码 AdminDao.java D ...

  3. 基于Java+Swing+Mysql实现汽车信息管理系统

    基于Java+Swing+Mysql实现汽车信息管理系统 一.系统介绍 二.功能展示 1.登陆 2.车辆信息 3.车辆入库 4.车辆出库 5.车辆查询 6.车辆信息修改 三.数据库 四.其它 1.其他 ...

  4. Swing+Mysql实现的火车票管理系统3(功能分为普通用户和管理员,包含登录、车票查询、改签、购票、我的订单、用户注册、用户首页、车站管理、价格管理、用户管理等)

    博客目录 Swing+Mysql实现的火车票管理系统3 实现功能截图 系统功能 使用技术 代码 完整源码 Swing+Mysql实现的火车票管理系统3 本系统是一个火车票购票管理系统,分为普通用户和管 ...

  5. Java Jsp+mysql实现企业财务管理系统(普通职工/管理员 员工、公司资产、经营、费用管理)

    博客目录 企业财务管理系统 功能截图 系统流程图 技术点介绍 源码 写在最后 企业财务管理系统 背景: 随着信息时代的到来,中小企业的生存和竞争环境发生了根本性的变化.当前中小企业信息化具有宽广和深刻 ...

  6. Eclipse+Java+Swing+Mysql实现员工工资管理系统

    目录 一.系统介绍 1.运行环境 2.技术说明 3.系统功能 4.数据库 二.系统实现 1.登录系统 2.管理员界面 3.员工模块 4.部门模块 ​编辑 5.工资模块 6.普通员工 三.部分代码 De ...

  7. java swing 购物管理系统 java swing mysql实现的购物管理系统源码(1028)

    java swing + mysql 购物系统项目(1028) 1.系统运行环境 运行环境:Java8 + MySQL8 开发工具:eclipse/idea 2.系统功能实现 (下面介绍的功能肯定都有 ...

  8. mysql人事管理系统源代码_java Swing mysql实现的人事管理系统项目源码附带视频指导教程...

    大家好,今天给大家演示一款由Java swing mysql实现的简单的人事管理系统,功能非常简单,实现了基本人事的增删改查,采用了mvc的分层设计模式,结构非常清晰,是Java初学者参考的非常好的资 ...

  9. 基于JAVA+Swing+MYSQL的电影院购票管理系统

    项目功能: 使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能 ...

最新文章

  1. Python基础11-函数式编程与内置函数
  2. django html5 video,Django Web中的静态文件之HTML5第1篇
  3. fatal error C1010:unexpected end of file while looking for precompiled header directive报错的解决办法
  4. QT4 自定义槽和信号
  5. 生产环境中Oracle常用函数总结
  6. Go+Vue打印店远程打印小程序源码
  7. IFIX和Historian历史数据曲线图
  8. Vim-latex 插件 的安装
  9. 电气计算机基础知识,电气基础知识
  10. c#textBox控件限制只允许输入数字及小数点
  11. 车牌识别摄像头php,高清车牌识别摄像头SDK支持二次开发
  12. html动态生成tr标签,JS动态添加tr元素
  13. 【Docker系列】从头学起 Docker——docker run 命令详解
  14. PowerBI中常用的DAX函数
  15. mysql查询结果乘2倍_SQL查询总和乘以它应该的2倍
  16. 考试系统mysql数据库设计_驾校理论考试系统之数据库设计一
  17. 案例:FIFA2018球员数据分析
  18. 转移到ios下载安卓_转移到iOS app-转移到iOS(从Android转到iOS)苹果官方版_5577安卓网...
  19. 图像显著性论文 (一)-----(三)
  20. 管理软件包

热门文章

  1. ArcGIS模型构建器(一):ArcGIS如何一键批量处理数据
  2. 像素测量pxcook
  3. tcp网络编程客户端和服务端及listen和tcp允许最大连接数
  4. Java面试题大全(持续更新中),java框架面试题springboot
  5. Java面试题大全(持续更新中,微服务架构视频教程
  6. 基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选) 1
  7. HTTP工作原理详解
  8. “源”来如此第一期 带你走进开放式协作
  9. python3 音乐播放器_Android QPython3 可视化-音乐播放:MusicPlay.py
  10. python中sin函数用法_Python sin() 函数 - Python 教程 - 自强学堂