📄 panelclasses.java
字号:
package com.javasme.panel;/** * 主程序中《课程信息》的主窗体 * * 开发时间:07年03月07日 * * 开发人员:边疆 * * 应用技术:基本控件、Socket传输、线程应用 */import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.border.BevelBorder;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableModel;import com.javasme.data.SQLOperate;import com.javasme.dialog.DialogStudentsOperate;import com.javasme.dialog.DialogUpdateClasses;import com.javasme.longs.LookAndFeel;import com.javasme.longs.ObjectClasses;import com.javasme.util.FormChecked;public class PanelClasses extends javax.swing.JPanel { /** * */ private static final long serialVersionUID = 1L; private JButton buttonUpdate; private JTable tableClasses = ObjectClasses.tableClasses; private PanelStudents panelStudents = ObjectClasses.panelStudents; private JButton buttonDelete; private JPanel panelDown; private JScrollPane scrollPane; /** * 数据操作用到的字段与对象 */ private int rowCount; private String valueID; private String className; private String sqlStr; private Statement st; private ResultSet rs; public PanelClasses() { super(); initGUI(); /** * 风格设置 */ LookAndFeel.UpdateLookAndFeel(this); initial(); } private void initGUI() { try { BorderLayout thisLayout = new BorderLayout(); this.setLayout(thisLayout); this.setPreferredSize(new java.awt.Dimension(700, 500)); this.setBorder(BorderFactory.createTitledBorder("班级信息")); this.setBackground(new java.awt.Color(236, 233, 216)); { panelDown = new JPanel(); this.add(panelDown, BorderLayout.SOUTH); panelDown.setBackground(new java.awt.Color(236, 233, 216)); { buttonUpdate = new JButton(); panelDown.add(buttonUpdate); buttonUpdate.setText("修改所选信息"); buttonUpdate.setFont(new java.awt.Font("宋体", 0, 12)); buttonUpdate.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { buttonUpdateActionPerformed(evt); } }); } { buttonDelete = new JButton(); panelDown.add(buttonDelete); buttonDelete.setText("删除所选信息"); buttonDelete.setFont(new java.awt.Font("宋体", 0, 12)); buttonDelete.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { buttonDeleteActionPerformed(evt); } }); } } { scrollPane = new JScrollPane(); this.add(scrollPane, BorderLayout.CENTER); scrollPane.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED)); scrollPane.setBackground(new java.awt.Color(236, 233, 216)); { TableModel tableCoursesModel = new DefaultTableModel(); tableClasses.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); scrollPane.setViewportView(tableClasses); tableClasses.setModel(tableCoursesModel); tableClasses.getTableHeader().setReorderingAllowed(false); tableClasses.getTableHeader().setBackground(new java.awt.Color(236, 233, 216)); tableClasses.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent evt) { tableClassesMouseClicked(evt); } }); } } } catch (Exception e) { e.printStackTrace(); } } /** * 页面初始化方法 */ private void initial() { SQLOperate.selectAllFromData("Classes", tableClasses); ObjectClasses.tableClassesRowCountFile = ObjectClasses.tableClassesRowFile.setTableRowFile(ObjectClasses.tableClassesRowCount); this.scrollPane.setRowHeaderView(ObjectClasses.tableClassesRowCountFile); } /** * 《修改所选信息》按钮事件处理方法 * * @param evt */ private void buttonUpdateActionPerformed(ActionEvent evt) { new DialogUpdateClasses(null, valueID).show(); } /** * 《删除所选信息》按钮事件处理方法 * * @param evt */ private void buttonDeleteActionPerformed(ActionEvent evt) { sqlStr = "Select * from Students where Student_Class = '" + className + "'"; rs = SQLOperate.getResultSet(sqlStr); try { if (rs.next()) { new DialogStudentsOperate(null, className).show(); st = SQLOperate.getStatement(); /* * 将学生移动到其他班级 */ if (DialogStudentsOperate.Operate.equals("move")) { try { sqlStr = "Delete * from Classes where ID = " + valueID; st.executeUpdate(sqlStr); sqlStr = "Update Students set Student_Class = '" + DialogStudentsOperate.selectedValue + "' where Student_Class = '" + className + "'"; st.executeUpdate(sqlStr); } catch (SQLException e) { SQLOperate.closeST(); FormChecked.lose("删除班级", "删除失败!数据库访问错误!"); e.printStackTrace(); return; } // System.out.println("move"); FormChecked.success("删除班级", "成功删除班级信息!"); } /* * 将此班级内所有学生信息删除 */ if (DialogStudentsOperate.Operate.equals("deleteAll")) { try { sqlStr = "Delete * from Classes where ID = " + valueID; st.executeUpdate(sqlStr); sqlStr = "Delete * from Students where Student_Class = '" + className + "'"; st.executeUpdate(sqlStr); // System.out.println("从数据库删除了学生信息"); // System.out.println("开始调用panelStudents的初始化方法:initial()"); // System.out.println("初始化方法被调用"); SQLOperate.selectAllFromData("Students", ObjectClasses.tableStudents); // System.out.println("查询所有数据获取行数结束!"); ObjectClasses.tableStudentsRowCountFile = ObjectClasses.tableStudentsRowFile.setTableRowFile(ObjectClasses.tableStudentsRowCount); panelStudents.scrollPane.setRowHeaderView(ObjectClasses.tableStudentsRowCountFile); // System.out.println("结束"); } catch (SQLException e) { SQLOperate.closeST(); FormChecked.lose("删除班级", "删除失败!数据库访问错误!"); e.printStackTrace(); return; } // System.out.println("deleteAll"); FormChecked.success("删除班级", "成功删除班级信息!"); } /* * 只删除此班级信息 */ if (DialogStudentsOperate.Operate.equals("deleteOnlay")) { try { sqlStr = "Delete * from Classes where ID = " + valueID; st.executeUpdate(sqlStr); sqlStr = "Update Students set Student_Class = '<已删除>' where Student_Class = '" + className + "'"; st.executeUpdate(sqlStr); } catch (SQLException e) { SQLOperate.closeST(); FormChecked.lose("删除班级", "删除失败!数据库访问错误!"); e.printStackTrace(); return; } // System.out.println("deleteOnlay"); FormChecked.success("删除班级", "成功删除班级信息!"); } DialogStudentsOperate.Operate = ""; } } catch (SQLException e1) { e1.printStackTrace(); } initial(); } /** * 鼠标点击表格事件处理 */ private void tableClassesMouseClicked(MouseEvent evt) { rowCount = tableClasses.rowAtPoint(evt.getPoint()); valueID = tableClasses.getValueAt(rowCount, 0).toString(); className = tableClasses.getValueAt(rowCount, 2).toString(); // System.out.println(valueID); // System.out.println(rowCount + " " + columnCount); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -