接中篇~~
修改密码:
package com.artisan.view;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.EmptyBorder;
import com.artisan.dao.AdminDao;
import com.artisan.dao.StudentDao;
import com.artisan.dao.TeacherDao;
import com.artisan.model.Admin;
import com.artisan.model.Student;
import com.artisan.model.Teacher;
import com.artisan.util.StringUtil;
public class EditPasswordFrm extends JInternalFrame {
private JPanel contentPane;
private JPasswordField oldPasswordTextField;
private JPasswordField newPasswordTextField;
private JPasswordField confirmPasswordTextField;
private JLabel currentUserLabel;
/**
* Launch the application.
*/
// public static void main(String[] args) {
// EventQueue.invokeLater(new Runnable() {
// public void run() {
// try {
// EditPasswordFrm frame = new EditPasswordFrm();
// frame.setVisible(true);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// });
// }
/**
* Create the frame.
*/
public EditPasswordFrm() {
setTitle("\u4FEE\u6539\u5BC6\u7801");
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
setClosable(true);
setIconifiable(true);
JLabel label = new JLabel("\u539F\u5BC6\u7801\uFF1A");
label.setIcon(new ImageIcon(EditPasswordFrm.class.getResource("/images/password.png")));
label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
oldPasswordTextField = new JPasswordField();
oldPasswordTextField.setColumns(10);
JLabel label_1 = new JLabel("\u65B0\u5BC6\u7801\uFF1A");
label_1.setIcon(new ImageIcon(EditPasswordFrm.class.getResource("/images/\u4FEE\u6539\u5BC6\u7801.png")));
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
newPasswordTextField = new JPasswordField();
newPasswordTextField.setColumns(10);
JLabel label_2 = new JLabel("\u786E\u8BA4\u5BC6\u7801\uFF1A");
label_2.setIcon(new ImageIcon(EditPasswordFrm.class.getResource("/images/\u4FEE\u6539\u5BC6\u7801.png")));
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
confirmPasswordTextField = new JPasswordField();
confirmPasswordTextField.setColumns(10);
JButton submitButton = new JButton("\u786E\u8BA4");
submitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
submitEdit(e);
}
});
submitButton.setIcon(new ImageIcon(EditPasswordFrm.class.getResource("/images/\u786E\u8BA4.png")));
submitButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JButton resetButton = new JButton("\u91CD\u7F6E");
resetButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
resetValue(ae);
}
});
resetButton.setIcon(new ImageIcon(EditPasswordFrm.class.getResource("/images/\u91CD\u7F6E.png")));
resetButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JLabel label_3 = new JLabel("\u5F53\u524D\u7528\u6237\uFF1A");
label_3.setIcon(new ImageIcon(EditPasswordFrm.class.getResource("/images/\u7528\u6237\u540D.png")));
label_3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
currentUserLabel = new JLabel("");
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(86)
.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(submitButton)
.addGap(61)
.addComponent(resetButton))
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(label_2)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(confirmPasswordTextField, 167, 167, 167))
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
.addComponent(label_1)
.addComponent(label))
.addGap(18)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
.addComponent(newPasswordTextField)
.addComponent(oldPasswordTextField, GroupLayout.DEFAULT_SIZE, 167, Short.MAX_VALUE)))
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(label_3)
.addGap(18)
.addComponent(currentUserLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addContainerGap(77, Short.MAX_VALUE))
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(24)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(label_3)
.addComponent(currentUserLabel))
.addGap(18)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(label)
.addComponent(oldPasswordTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(32)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(label_1)
.addComponent(newPasswordTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(28)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(label_2)
.addComponent(confirmPasswordTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED, 37, Short.MAX_VALUE)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(resetButton)
.addComponent(submitButton))
.addContainerGap())
);
contentPane.setLayout(gl_contentPane);
if("系统管理员".equals(MainFrm.userType.getName())){
Admin admin = (Admin)MainFrm.userObject;
currentUserLabel.setText("【系统管理员】" + admin.getName());
}else if("学生".equals(MainFrm.userType.getName())){
Student student = (Student)MainFrm.userObject;
currentUserLabel.setText("【学生】" + student.getName());
}else{
Teacher teacher = (Teacher)MainFrm.userObject;
currentUserLabel.setText("【学生】" + teacher.getName());
}
}
protected void submitEdit(ActionEvent e) {
// TODO Auto-generated method stub
String oldPassword = oldPasswordTextField.getText().toString();
String newPassword = newPasswordTextField.getText().toString();
String conformPassword = confirmPasswordTextField.getText().toString();
if(StringUtil.isEmpty(oldPassword)){
JOptionPane.showMessageDialog(this, "请填写旧密码!");
return;
}
if(StringUtil.isEmpty(newPassword)){
JOptionPane.showMessageDialog(this, "请填写新密码!");
return;
}
if(StringUtil.isEmpty(conformPassword)){
JOptionPane.showMessageDialog(this, "请确认新密码!");
return;
}
if(!newPassword.equals(conformPassword)){
JOptionPane.showMessageDialog(this, "两次密码输入不一致!");
return;
}
if("系统管理员".equals(MainFrm.userType.getName())){
AdminDao adminDao = new AdminDao();
Admin adminTmp = new Admin();
Admin admin = (Admin)MainFrm.userObject;
adminTmp.setName(admin.getName());
adminTmp.setId(admin.getId());
adminTmp.setPassword(oldPassword);
JOptionPane.showMessageDialog(this, adminDao.editPassword(adminTmp, newPassword));
adminDao.closeDao();
return;
}
if("学生".equals(MainFrm.userType.getName())){
StudentDao studentDao = new StudentDao();
Student studentTmp = new Student();
Student student = (Student)MainFrm.userObject;
studentTmp.setName(student.getName());
studentTmp.setPassword(oldPassword);
studentTmp.setId(student.getId());
JOptionPane.showMessageDialog(this, studentDao.editPassword(studentTmp, newPassword));
studentDao.closeDao();
return;
}
if("教师".equals(MainFrm.userType.getName())){
TeacherDao teacherDao = new TeacherDao();
Teacher teacherTmp = new Teacher();
Teacher teacher = (Teacher)MainFrm.userObject;
teacherTmp.setName(teacher.getName());
teacherTmp.setPassword(oldPassword);
teacherTmp.setId(teacher.getId());
JOptionPane.showMessageDialog(this, teacherDao.editPassword(teacherTmp, newPassword));
teacherDao.closeDao();
return;
}
}
protected void resetValue(ActionEvent ae) {
// TODO Auto-generated method stub
oldPasswordTextField.setText("");
newPasswordTextField.setText("");
confirmPasswordTextField.setText("");
}
}
班级的删改查:
package com.artisan.view;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import java.awt.Font;
import java.util.List;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.UIManager;
import com.artisan.dao.ClassDao;
import com.artisan.model.StudentClass;
import com.artisan.util.StringUtil;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextArea;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class ManageClassFrm extends JInternalFrame {
private JTextField searchClassNameTextField;
private JTable classListTable;
private JTextField editClassNameTextField;
private JTextArea editClassInfoTextArea;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ManageClassFrm frame = new ManageClassFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ManageClassFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u73ED\u7EA7\u4FE1\u606F\u7BA1\u7406");
setBounds(100, 100, 773, 562);
JScrollPane scrollPane = new JScrollPane();
JLabel label = new JLabel("\u73ED\u7EA7\u540D\u79F0\uFF1A");
label.setIcon(new ImageIcon(ManageClassFrm.class.getResource("/images/\u73ED\u7EA7\u540D\u79F0.png")));
label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
searchClassNameTextField = new JTextField();
searchClassNameTextField.setColumns(10);
JButton searchButton = new JButton("\u67E5\u8BE2");
searchButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
StudentClass sc = new StudentClass();
sc.setName(searchClassNameTextField.getText().toString());
setTable(sc);
}
});
searchButton.setIcon(new ImageIcon(ManageClassFrm.class.getResource("/images/\u641C\u7D22.png")));
searchButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JLabel label_1 = new JLabel("\u73ED\u7EA7\u540D\u79F0\uFF1A");
label_1.setIcon(new ImageIcon(ManageClassFrm.class.getResource("/images/\u73ED\u7EA7\u540D\u79F0.png")));
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editClassNameTextField = new JTextField();
editClassNameTextField.setColumns(10);
JLabel label_2 = new JLabel("\u73ED\u7EA7\u4FE1\u606F\uFF1A");
label_2.setIcon(new ImageIcon(ManageClassFrm.class.getResource("/images/\u73ED\u7EA7\u4ECB\u7ECD.png")));
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editClassInfoTextArea = new JTextArea();
JButton submitEditButton = new JButton("\u786E\u8BA4\u4FEE\u6539");
submitEditButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
submitEditAct(ae);
}
});
submitEditButton.setIcon(new ImageIcon(ManageClassFrm.class.getResource("/images/\u786E\u8BA4.png")));
submitEditButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JButton submitDeleteButton = new JButton("\u5220\u9664");
submitDeleteButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
deleteClassAct(ae);
}
});
submitDeleteButton.setIcon(new ImageIcon(ManageClassFrm.class.getResource("/images/\u5220\u9664.png")));
submitDeleteButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(160)
.addComponent(label)
.addGap(18)
.addComponent(searchClassNameTextField, GroupLayout.PREFERRED_SIZE, 207, GroupLayout.PREFERRED_SIZE)
.addGap(50)
.addComponent(searchButton))
.addGroup(groupLayout.createSequentialGroup()
.addGap(110)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 536, GroupLayout.PREFERRED_SIZE))
.addGroup(groupLayout.createSequentialGroup()
.addGap(53)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
.addGroup(groupLayout.createSequentialGroup()
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(label_2)
.addGap(18)
.addComponent(editClassInfoTextArea))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(label_1)
.addGap(18)
.addComponent(editClassNameTextField, GroupLayout.PREFERRED_SIZE, 146, GroupLayout.PREFERRED_SIZE)))
.addGap(102)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
.addComponent(submitDeleteButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(submitEditButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addContainerGap(111, Short.MAX_VALUE))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(45)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(label, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)
.addComponent(searchClassNameTextField, GroupLayout.PREFERRED_SIZE, 33, GroupLayout.PREFERRED_SIZE)
.addComponent(searchButton, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE))
.addGap(30)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 282, GroupLayout.PREFERRED_SIZE)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(18)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(label_1)
.addComponent(editClassNameTextField, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addComponent(editClassInfoTextArea, GroupLayout.DEFAULT_SIZE, 66, Short.MAX_VALUE)
.addContainerGap())
.addGroup(Alignment.TRAILING, groupLayout.createSequentialGroup()
.addComponent(label_2)
.addGap(32))))
.addGroup(groupLayout.createSequentialGroup()
.addGap(30)
.addComponent(submitEditButton)
.addGap(34)
.addComponent(submitDeleteButton)
.addContainerGap())))
);
classListTable = new JTable();
classListTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent me) {
selectedTableRow(me);
}
});
classListTable.setFont(new Font("微软雅黑", Font.PLAIN, 12));
classListTable.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"\u73ED\u7EA7\u7F16\u53F7","\u73ED\u7EA7\u540D\u79F0" , "\u73ED\u7EA7\u4FE1\u606F\u4ECB\u7ECD"
}
) {
boolean[] columnEditables = new boolean[] {
false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
classListTable.getColumnModel().getColumn(2).setPreferredWidth(316);
scrollPane.setViewportView(classListTable);
getContentPane().setLayout(groupLayout);
setTable(new StudentClass());
}
protected void deleteClassAct(ActionEvent ae) {
// TODO Auto-generated method stub
if(JOptionPane.showConfirmDialog(this, "您确定删除么?") != JOptionPane.OK_OPTION){
return;
}
int index = classListTable.getSelectedRow();
if(index == -1){
JOptionPane.showMessageDialog(this, "请选中要删除的数据!");
return;
}
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
int id = Integer.parseInt(dft.getValueAt(classListTable.getSelectedRow(), 0).toString());
ClassDao classDao = new ClassDao();
if(classDao.delete(id)){
JOptionPane.showMessageDialog(this, "删除成功!");
}else{
JOptionPane.showMessageDialog(this, "删除失败!");
}
classDao.closeDao();
setTable(new StudentClass());
}
protected void submitEditAct(ActionEvent ae) {
// TODO Auto-generated method stub
ClassDao classDao = new ClassDao();
int index = classListTable.getSelectedRow();
if(index == -1){
JOptionPane.showMessageDialog(this, "请选中要修改的数据!");
return;
}
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
String className = dft.getValueAt(classListTable.getSelectedRow(), 1).toString();
String classInfo = dft.getValueAt(classListTable.getSelectedRow(), 2).toString();
String editClassName = editClassNameTextField.getText().toString();
String editClassInfo = editClassInfoTextArea.getText().toString();
if(StringUtil.isEmpty(editClassName)){
JOptionPane.showMessageDialog(this, "请填写要修改的名称!");
return;
}
if(className.equals(editClassName) && classInfo.equals(editClassInfo)){
JOptionPane.showMessageDialog(this, "您还没有做任何修改!");
return;
}
int id = Integer.parseInt(dft.getValueAt(classListTable.getSelectedRow(), 0).toString());
StudentClass sc = new StudentClass();
sc.setId(id);
sc.setName(editClassName);
sc.setInfo(editClassInfo);
if(classDao.update(sc)){
JOptionPane.showMessageDialog(this, "更新成功!");
}else{
JOptionPane.showMessageDialog(this, "更新失败!");
}
classDao.closeDao();
setTable(new StudentClass());
}
protected void selectedTableRow(MouseEvent me) {
// TODO Auto-generated method stub
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
editClassNameTextField.setText(dft.getValueAt(classListTable.getSelectedRow(), 1).toString());
editClassInfoTextArea.setText(dft.getValueAt(classListTable.getSelectedRow(), 2).toString());
}
private void setTable(StudentClass studentClass){
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
dft.setRowCount(0);
ClassDao classDao = new ClassDao();
List classList = classDao.getClassList(studentClass);
for (StudentClass sc : classList) {
Vector v = new Vector();
v.add(sc.getId());
v.add(sc.getName());
v.add(sc.getInfo());
dft.addRow(v);
}
classDao.closeDao();
}
}
主界面:
package com.artisan.view;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URI;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import com.artisan.model.UserType;
public class MainFrm extends JFrame {
private JPanel contentPane;
private JDesktopPane desktopPane;
public static UserType userType;
public static Object userObject;
private JMenuItem addStudentMenuItem ;
private JMenu manageClassMenu ;
private JMenu manageTeacherMenu;
private JMenuItem addTeacherMenuItem;
private JMenu courseMenu;
/**
* Launch the application.
*/
// public static void main(String[] args) {
// EventQueue.invokeLater(new Runnable() {
// public void run() {
// try {
// MainFrm frame = new MainFrm(null,null);
// frame.setVisible(true);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// });
// }
/**
* Create the frame.
*/
public MainFrm(UserType userType,Object userObject) {
this.userType = userType;
this.userObject = userObject;
setTitle("\u5B66\u751F\u4FE1\u606F\u7CFB\u7EDF\u4E3B\u754C\u9762");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 936, 774);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("\u7CFB\u7EDF\u8BBE\u7F6E");
menu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u7CFB\u7EDF\u8BBE\u7F6E.png")));
menuBar.add(menu);
JMenuItem menuItem = new JMenuItem("\u4FEE\u6539\u5BC6\u7801");
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
editPassword(ae);
}
});
menuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u4FEE\u6539\u5BC6\u7801.png")));
menu.add(menuItem);
JMenuItem menuItem_1 = new JMenuItem("\u9000\u51FA\u7CFB\u7EDF");
menuItem_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(JOptionPane.showConfirmDialog(MainFrm.this, "确定退出么?") == JOptionPane.OK_OPTION){
System.exit(0);
}
}
});
menuItem_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u9000\u51FA.png")));
menu.add(menuItem_1);
JMenu menu_1 = new JMenu("\u5B66\u751F\u7BA1\u7406");
menu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
menuBar.add(menu_1);
addStudentMenuItem = new JMenuItem("\u5B66\u751F\u6DFB\u52A0");
addStudentMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
AddStudentFrm addStudentFrm = new AddStudentFrm();
addStudentFrm.setVisible(true);
desktopPane.add(addStudentFrm);
}
});
addStudentMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u6DFB\u52A0.png")));
menu_1.add(addStudentMenuItem);
JMenuItem menuItem_3 = new JMenuItem("\u5B66\u751F\u5217\u8868");
menuItem_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ManageStudentFrm studentManageFrm = new ManageStudentFrm();
studentManageFrm.setVisible(true);
desktopPane.add(studentManageFrm);
}
});
menuItem_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u7528\u6237\u5217\u8868.png")));
menu_1.add(menuItem_3);
manageClassMenu = new JMenu("\u73ED\u7EA7\u7BA1\u7406");
manageClassMenu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u73ED\u7EA7\u7BA1\u7406.png")));
menuBar.add(manageClassMenu);
JMenuItem menuItem_4 = new JMenuItem("\u73ED\u7EA7\u6DFB\u52A0");
menuItem_4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
addStudentClass(ae);
}
});
menuItem_4.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u6DFB\u52A0.png")));
manageClassMenu.add(menuItem_4);
JMenuItem menuItem_5 = new JMenuItem("\u73ED\u7EA7\u7BA1\u7406");
menuItem_5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ManageClassFrm classManageFrm = new ManageClassFrm();
classManageFrm.setVisible(true);
desktopPane.add(classManageFrm);
}
});
menuItem_5.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u73ED\u7EA7\u5217\u8868.png")));
manageClassMenu.add(menuItem_5);
manageTeacherMenu = new JMenu("\u6559\u5E08\u7BA1\u7406");
manageTeacherMenu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u8001\u5E08.png")));
menuBar.add(manageTeacherMenu);
addTeacherMenuItem = new JMenuItem("\u6DFB\u52A0\u6559\u5E08");
addTeacherMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
AddTeacherFrm addTeacherFrm = new AddTeacherFrm();
addTeacherFrm.setVisible(true);
desktopPane.add(addTeacherFrm);
}
});
addTeacherMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u6DFB\u52A0.png")));
manageTeacherMenu.add(addTeacherMenuItem);
JMenuItem menuItem_8 = new JMenuItem("\u6559\u5E08\u5217\u8868");
menuItem_8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ManageTeacherFrm manageTeacherFrm = new ManageTeacherFrm();
manageTeacherFrm.setVisible(true);
desktopPane.add(manageTeacherFrm);
}
});
menuItem_8.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u7528\u6237\u5217\u8868.png")));
manageTeacherMenu.add(menuItem_8);
courseMenu = new JMenu("\u8BFE\u7A0B\u7BA1\u7406");
courseMenu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u8BFE\u7A0B.png")));
menuBar.add(courseMenu);
JMenuItem addCourseMenuItem = new JMenuItem("\u6DFB\u52A0\u8BFE\u7A0B");
addCourseMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
AddCourseFrm addCourseFrm = new AddCourseFrm();
addCourseFrm.setVisible(true);
desktopPane.add(addCourseFrm);
}
});
addCourseMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u6DFB\u52A0.png")));
courseMenu.add(addCourseMenuItem);
JMenuItem courseListMenuItem = new JMenuItem("\u8BFE\u7A0B\u5217\u8868");
courseListMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ManageCourseFrm manageCourseFrm = new ManageCourseFrm();
manageCourseFrm.setVisible(true);
desktopPane.add(manageCourseFrm);
}
});
courseListMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u8BFE\u7A0B\u5217\u8868.png")));
courseMenu.add(courseListMenuItem);
JMenu menu_4 = new JMenu("\u9009\u8BFE\u7BA1\u7406");
menu_4.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u9009\u62E9.png")));
menuBar.add(menu_4);
JMenuItem menuItem_2 = new JMenuItem("\u9009\u8BFE\u7BA1\u7406");
menuItem_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ManageSelectedCourseFrm manageSelectedCourseFrm = new ManageSelectedCourseFrm();
manageSelectedCourseFrm.setVisible(true);
desktopPane.add(manageSelectedCourseFrm);
}
});
menuItem_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u9009\u62E9.png")));
menu_4.add(menuItem_2);
JMenu menu_3 = new JMenu("\u5E2E\u52A9");
menu_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u5E2E\u52A9.png")));
menuBar.add(menu_3);
JMenuItem menuItem_6 = new JMenuItem("\u5173\u4E8E\u6211\u4EEC");
menuItem_6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
aboutUs(ae);
}
});
menuItem_6.setIcon(new ImageIcon(MainFrm.class.getResource("/images/\u5173\u4E8E\u6211\u4EEC.png")));
menu_3.add(menuItem_6);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
desktopPane = new JDesktopPane();
desktopPane.setBackground(new Color(0, 128, 128));
contentPane.add(desktopPane, BorderLayout.CENTER);
setLocationRelativeTo(null);
setAuthority();
}
protected void addStudentClass(ActionEvent ae) {
// TODO Auto-generated method stub
AddStudentClassFrm sca = new AddStudentClassFrm();
sca.setVisible(true);
desktopPane.add(sca);
}
protected void editPassword(ActionEvent ae) {
// TODO Auto-generated method stub
EditPasswordFrm editPasswordFrm = new EditPasswordFrm();
editPasswordFrm.setVisible(true);
desktopPane.add(editPasswordFrm);
}
protected void aboutUs(ActionEvent ae) {
// TODO Auto-generated method stub
String info = "很高兴您使用此系统!";
JOptionPane.showMessageDialog(this, info);
//
}
private void setAuthority(){
if("学生".equals(userType.getName())){
addStudentMenuItem.setEnabled(false);
manageClassMenu.setEnabled(false);
manageTeacherMenu.setEnabled(false);
courseMenu.setEnabled(false);
}
if("教师".equals(userType.getName())){
addTeacherMenuItem.setEnabled(false);
}
}
}
学生信息的删改查:
package com.artisan.view;
import java.awt.EventQueue;
import java.awt.Font;
import java.util.List;
import java.util.Vector;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.table.DefaultTableModel;
import com.artisan.dao.ClassDao;
import com.artisan.dao.SelectedCourseDao;
import com.artisan.dao.StudentDao;
import com.artisan.model.Student;
import com.artisan.model.StudentClass;
import com.artisan.util.StringUtil;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class ManageStudentFrm extends JInternalFrame {
private JTextField serachStudentNameTextField;
private JTable studentListTable;
private JTextField editStudentNameTextField;
private JPasswordField editStudentPasswordPasswordField;
private JComboBox searchStudentComboBox;
private List studentClassList ;
private JComboBox editStudentClassComboBox;
private ButtonGroup editSexButtonGroup;
private JRadioButton editStudentSexManRadioButton;
private JRadioButton editStudentSexFemalRadioButton;
private JRadioButton editStudentSexUnkonwRadioButton;
private JButton deleteStudentButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ManageStudentFrm frame = new ManageStudentFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ManageStudentFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u5B66\u751F\u4FE1\u606F\u7BA1\u7406");
setBounds(100, 100, 842, 561);
JScrollPane scrollPane = new JScrollPane();
JLabel label = new JLabel("\u5B66\u751F\u59D3\u540D\uFF1A");
label.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
serachStudentNameTextField = new JTextField();
serachStudentNameTextField.setColumns(10);
JLabel label_1 = new JLabel("\u6240\u5C5E\u73ED\u7EA7\uFF1A");
label_1.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u73ED\u7EA7\u540D\u79F0.png")));
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
searchStudentComboBox = new JComboBox();
JButton searchButton = new JButton("\u67E5\u8BE2");
searchButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
searchStudent(ae);
}
});
searchButton.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u641C\u7D22.png")));
searchButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JLabel label_2 = new JLabel("\u5B66\u751F\u59D3\u540D\uFF1A");
label_2.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editStudentNameTextField = new JTextField();
editStudentNameTextField.setColumns(10);
JLabel label_3 = new JLabel("\u6240\u5C5E\u73ED\u7EA7\uFF1A");
label_3.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u73ED\u7EA7\u540D\u79F0.png")));
label_3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editStudentClassComboBox = new JComboBox();
JLabel label_4 = new JLabel("\u5B66\u751F\u6027\u522B\uFF1A");
label_4.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u6027\u522B.png")));
label_4.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editSexButtonGroup = new ButtonGroup();
editStudentSexManRadioButton = new JRadioButton("\u7537");
editStudentSexManRadioButton.setSelected(true);
editStudentSexFemalRadioButton = new JRadioButton("\u5973");
editStudentSexUnkonwRadioButton = new JRadioButton("\u4FDD\u5BC6");
editSexButtonGroup.add(editStudentSexManRadioButton);
editSexButtonGroup.add(editStudentSexFemalRadioButton);
editSexButtonGroup.add(editStudentSexUnkonwRadioButton);
JLabel label_5 = new JLabel("\u767B\u5F55\u5BC6\u7801\uFF1A");
label_5.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/password.png")));
label_5.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editStudentPasswordPasswordField = new JPasswordField();
JButton submitEditButton = new JButton("\u786E\u8BA4\u4FEE\u6539");
submitEditButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
submitEditAct(ae);
}
});
submitEditButton.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u786E\u8BA4.png")));
submitEditButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
deleteStudentButton = new JButton("\u5220\u9664\u5B66\u751F");
deleteStudentButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
deleteStudent(ae);
}
});
deleteStudentButton.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u5220\u9664.png")));
deleteStudentButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.TRAILING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(140)
.addComponent(label)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(serachStudentNameTextField, GroupLayout.PREFERRED_SIZE, 122, GroupLayout.PREFERRED_SIZE)
.addGap(27)
.addComponent(label_1)
.addGap(18)
.addComponent(searchStudentComboBox, GroupLayout.PREFERRED_SIZE, 145, GroupLayout.PREFERRED_SIZE)
.addGap(40)
.addComponent(searchButton)
.addContainerGap(69, Short.MAX_VALUE))
.addGroup(groupLayout.createSequentialGroup()
.addContainerGap(65, Short.MAX_VALUE)
.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
.addComponent(label_3)
.addComponent(label_2))
.addGap(18)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
.addComponent(editStudentClassComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(editStudentNameTextField, GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE))
.addGap(62)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
.addGroup(groupLayout.createSequentialGroup()
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(label_4)
.addGap(18)
.addComponent(editStudentSexManRadioButton)
.addGap(2)
.addComponent(editStudentSexFemalRadioButton)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(editStudentSexUnkonwRadioButton))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(label_5)
.addGap(18)
.addComponent(editStudentPasswordPasswordField)))
.addGap(30)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(submitEditButton)
.addComponent(deleteStudentButton))
.addGap(33))
.addGroup(groupLayout.createSequentialGroup()
.addContainerGap(126, Short.MAX_VALUE)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 577, GroupLayout.PREFERRED_SIZE)
.addGap(123))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(34)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(label)
.addComponent(serachStudentNameTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(searchStudentComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_1)
.addComponent(searchButton))
.addGap(36)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 307, GroupLayout.PREFERRED_SIZE)
.addGap(41)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(editStudentSexManRadioButton)
.addComponent(editStudentSexFemalRadioButton)
.addComponent(editStudentSexUnkonwRadioButton)
.addComponent(submitEditButton)
.addComponent(editStudentNameTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_4)
.addComponent(label_2))
.addPreferredGap(ComponentPlacement.RELATED, 12, Short.MAX_VALUE)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(editStudentClassComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_5)
.addComponent(editStudentPasswordPasswordField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(deleteStudentButton)
.addComponent(label_3))
.addGap(20))
);
studentListTable = new JTable();
studentListTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
selectedTableRow(arg0);
}
});
studentListTable.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"\u5B66\u751F\u7F16\u53F7", "\u5B66\u751F\u59D3\u540D", "\u6240\u5C5E\u73ED\u7EA7", "\u5B66\u751F\u6027\u522B", "\u767B\u5F55\u5BC6\u7801"
}
) {
boolean[] columnEditables = new boolean[] {
false, true, true, true, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
scrollPane.setViewportView(studentListTable);
getContentPane().setLayout(groupLayout);
setStudentClassInfo();
setTable(new Student());
setAuthority();
}
protected void submitEditAct(ActionEvent ae) {
// TODO Auto-generated method stub
int row = studentListTable.getSelectedRow();
if(row == -1){
JOptionPane.showMessageDialog(this, "请选中要修改的数据!");
return;
}
String studentName = editStudentNameTextField.getText().toString();
String studentPassword = editStudentPasswordPasswordField.getText().toString();
if(StringUtil.isEmpty(studentName)){
JOptionPane.showMessageDialog(this, "请填写学生姓名!");
return;
}
if(StringUtil.isEmpty(studentPassword)){
JOptionPane.showMessageDialog(this, "请填写密码!");
return;
}
Student student = new Student();
student.setName(studentName);
student.setPassword(studentPassword);
StudentClass sc = (StudentClass)editStudentClassComboBox.getSelectedItem();
student.setClassId(sc.getId());
student.setId(Integer.parseInt(studentListTable.getValueAt(row, 0).toString()));
if(editStudentSexManRadioButton.isSelected())student.setSex(editStudentSexManRadioButton.getText().toString());
if(editStudentSexFemalRadioButton.isSelected())student.setSex(editStudentSexFemalRadioButton.getText().toString());
if(editStudentSexUnkonwRadioButton.isSelected())student.setSex(editStudentSexUnkonwRadioButton.getText().toString());
StudentDao studentDao = new StudentDao();
if(studentDao.update(student)){
JOptionPane.showMessageDialog(this, "更新成功!");
}else{
JOptionPane.showMessageDialog(this, "更新失败!");
}
studentDao.closeDao();
setTable(new Student());
}
protected void deleteStudent(ActionEvent ae) {
// TODO Auto-generated method stub
int row = studentListTable.getSelectedRow();
if(row == -1){
JOptionPane.showMessageDialog(this, "请选中要删除的数据!");
return;
}
if(JOptionPane.showConfirmDialog(this, "您确定删除么?") != JOptionPane.OK_OPTION){
return;
}
StudentDao studentDao = new StudentDao();
SelectedCourseDao selectedCourseDao=new SelectedCourseDao();
selectedCourseDao.deleteBySids(Integer.parseInt(studentListTable.getValueAt(row, 0).toString()));
if(studentDao.delete(Integer.parseInt(studentListTable.getValueAt(row, 0).toString()))){
JOptionPane.showMessageDialog(this, "删除成功!");
}else{
JOptionPane.showMessageDialog(this, "删除失败!");
}
studentDao.closeDao();
setTable(new Student());
}
protected void selectedTableRow(MouseEvent me) {
// TODO Auto-generated method stub
DefaultTableModel dft = (DefaultTableModel) studentListTable.getModel();
editStudentNameTextField.setText(dft.getValueAt(studentListTable.getSelectedRow(), 1).toString());
editStudentPasswordPasswordField.setText(dft.getValueAt(studentListTable.getSelectedRow(), 4).toString());
String className = dft.getValueAt(studentListTable.getSelectedRow(), 2).toString();
for(int i=0;i studentList = studentDao.getStudentList(student);
for (Student s : studentList) {
Vector v = new Vector();
v.add(s.getId());
v.add(s.getName());
v.add(getClassNameById(s.getClassId()));
v.add(s.getSex());
v.add(s.getPassword());
dft.addRow(v);
}
studentDao.closeDao();
}
private void setStudentClassInfo(){
ClassDao classDao = new ClassDao();
studentClassList = classDao.getClassList(new StudentClass());
for (StudentClass sc : studentClassList) {
searchStudentComboBox.addItem(sc);
editStudentClassComboBox.addItem(sc);
}
classDao.closeDao();
}
private String getClassNameById(int id){
for (StudentClass sc : studentClassList) {
if(sc.getId() == id)return sc.getName();
}
return "";
}
private void setAuthority(){
if("学生".equals(MainFrm.userType.getName())){
Student s = (Student)MainFrm.userObject;
serachStudentNameTextField.setText(s.getName());
serachStudentNameTextField.setEnabled(false);
deleteStudentButton.setEnabled(false);
for(int i=0;i
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7
StudentInfo
org.eclipse.jdt.core.javabuilder
org.eclipse.jdt.core.javanature
讲解视频链接呈上:https://www.bilibili.com/video/BV1uZ4y1H7JR?share_medium=android&share_plat=android&share_source=QQ&share_tag=s_i×tamp=1591513579&unique_k=Ts8HLA
结束啦!happy ending!