📄 classinfoframe.java~57~
字号:
package prjClassInfo;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import prjsystementer.DBManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.sql.*;
import javax.swing.table.TableModel;
import javax.swing.JDialog;
import java.awt.Color;
public class ClassInfoFrame extends JDialog {
public ClassInfoFrame() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(null);
jLabel1.setFont(new java.awt.Font("宋体", Font.BOLD, 16));
jLabel1.setText("班级信息列表");
jLabel1.setBounds(new Rectangle(186, 8, 122, 41));
jLabel2.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
cboClass.setBounds(new Rectangle(89, 364, 126, 29));
jLabel3.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
jLabel3.setText("查询条件:");
jLabel3.setBounds(new Rectangle(23, 360, 74, 40));
txtLook.setBounds(new Rectangle(221, 364, 125, 28));
btnLook.setBackground(Color.white);
btnLook.setBounds(new Rectangle(363, 364, 83, 25));
btnLook.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btnLook.setText("查询");
btnLook.addActionListener(new ClassInfoFrame_btnLook_actionAdapter(this));
btnCancel.setBackground(Color.white);
btnCancel.setBounds(new Rectangle(352, 426, 83, 25));
btnCancel.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btnCancel.setText("退出");
btnCancel.addActionListener(new ClassInfoFrame_btnCancel_actionAdapter(this));
btnEdit.setBackground(Color.white);
btnEdit.setBounds(new Rectangle(234, 426, 83, 25));
btnEdit.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btnEdit.setText("修改");
btnEdit.addActionListener(new ClassInfoFrame_btnEdit_actionAdapter(this));
btnAdd.setBackground(Color.white);
btnAdd.setBounds(new Rectangle(123, 426, 83, 25));
btnAdd.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btnAdd.setSelectedIcon(null);
btnAdd.setText("新增");
btnAdd.addActionListener(new ClassInfoFrame_btnAdd_actionAdapter(this));
jLabel2.setText("查询");
jLabel2.setBounds(new Rectangle(26, 337, 55, 30));
this.getContentPane().setBackground(Color.orange);
this.setTitle("学生基本信息 ");
jScrollPane1.getViewport().setBackground(Color.orange);
tblClassInfo.setBackground(Color.orange);
this.getContentPane().add(jScrollPane1);
this.getContentPane().add(jLabel1);
this.getContentPane().add(jLabel3);
this.getContentPane().add(jLabel2);
this.getContentPane().add(cboClass);
this.getContentPane().add(txtLook);
this.getContentPane().add(btnEdit);
this.getContentPane().add(btnCancel);
this.getContentPane().add(btnAdd);
this.getContentPane().add(btnLook);
jScrollPane1.getViewport().add(tblClassInfo);
jScrollPane1.setBounds(new Rectangle(30, 64, 435, 270));
fillCbo();
fillTable(this.sql);
}
private void fillCbo() {
this.cboClass.removeAllItems();
String[] ID = {"班主任编号", "班级编号"};
for (int i = 0; i < ID.length; i++) {
this.cboClass.addItem(ID[i]);
}
}
String sql = "select * from T_CLASSINFO";
public void fillTable(String sql) {
DBManager db = new DBManager();
ResultSet rs = db.ExecuteQuery(sql);
ArrayList al = new ArrayList();
try {
while (rs.next()) {
String classID = rs.getString("classID");
String teacherID = rs.getString("teacherID");
String startDate = rs.getString("startDate");
String studentCount = rs.getString("studentCount");
String endDate = rs.getString("endDate");
String Memo = rs.getString("Memo");
Class c = new Class();
c.setClassID(classID);
c.setTeacherID(teacherID);
c.setStartDate(startDate);
c.setStudentCount(studentCount);
c.setEndDate(endDate);
c.setMemo(Memo);
al.add(c);
}
ClassMOdel cm = new ClassMOdel();
cm.al = al;
this.tblClassInfo.setModel(cm);
} catch (SQLException ex) {
ex.printStackTrace();
}
}
// public static void main(String[] args) {
// ClassInfoFrame classinfoframe = new ClassInfoFrame();
// }
JLabel jLabel1 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable tblClassInfo = new JTable();
JLabel jLabel2 = new JLabel();
JComboBox cboClass = new JComboBox();
JLabel jLabel3 = new JLabel();
JTextField txtLook = new JTextField();
JButton btnLook = new JButton();
JButton btnCancel = new JButton();
JButton btnEdit = new JButton();
JButton btnAdd = new JButton();
public void btnCancel_actionPerformed(ActionEvent e) {
this.dispose();
}
public void btnEdit_actionPerformed(ActionEvent e) {
int x = this.tblClassInfo.getSelectedRow();
if (x < 0) {
JOptionPane.showMessageDialog(this, "请选择要修改的行");
return;
}
TableModel tm = this.tblClassInfo.getModel();
String classID = (String) tm.getValueAt(x, 0);
String teacherID = (String) tm.getValueAt(x, 1);
String startDate = (String) tm.getValueAt(x, 2);
String studentCount = (String) tm.getValueAt(x, 3);
String endDate = (String) tm.getValueAt(x, 4);
String memo = (String) tm.getValueAt(x, 5);
Class c = new Class();
c.setClassID(classID);
/////////////////////////
c.setTeacherID(teacherID);
System.out.println(teacherID);
c.setStartDate(startDate);
c.setStudentCount(studentCount);
c.setEndDate(endDate);
c.setMemo(memo);
//实例化修改界面
AddClassFrame f = new AddClassFrame(c);
f.setSize(420, 485);
f.setLocation(154, 44);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setModal(true);
f.setVisible(true);
fillTable(this.sql);
}
public void btnAdd_actionPerformed(ActionEvent e) {
AddClassFrame a = new AddClassFrame();
a.setSize(450, 520);
a.setModal(true);
a.setDefaultCloseOperation(a.DISPOSE_ON_CLOSE);
a.setVisible(true);
fillTable(this.sql);
}
public void btnLook_actionPerformed(ActionEvent e) {
fillTable(this.sql);
String result = (String)this.cboClass.getSelectedItem();
String look = this.txtLook.getText();
String sql = "";
if (result.equals("班主任编号")) {
sql = "select * from T_CLASSINFO where teacherID='" + look +
"'";
}
if (result.equals("班级编号")) {
sql = "select * from T_CLASSINFO where classID='" + look + "'";
}
if (look.equals("")) {
JOptionPane.showMessageDialog(this, "请输入要查询的条件.");
return;
}
DBManager db = new DBManager();
db.ExecuteQuery(sql);
fillTable(sql);
}
//此处新增加了一个重新查询的按钮,是为用户的多次查询提供方便。
public void btnRSearch_actionPerformed(ActionEvent e) {
//cbo里面的数据是从下标为0开始的
this.cboClass.setSelectedIndex(0);
this.txtLook.setText("");
fillTable(this.sql);
}
}
class ClassInfoFrame_btnLook_actionAdapter implements ActionListener {
private ClassInfoFrame adaptee;
ClassInfoFrame_btnLook_actionAdapter(ClassInfoFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnLook_actionPerformed(e);
}
}
class ClassInfoFrame_btnAdd_actionAdapter implements ActionListener {
private ClassInfoFrame adaptee;
ClassInfoFrame_btnAdd_actionAdapter(ClassInfoFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnAdd_actionPerformed(e);
}
}
class ClassInfoFrame_btnEdit_actionAdapter implements ActionListener {
private ClassInfoFrame adaptee;
ClassInfoFrame_btnEdit_actionAdapter(ClassInfoFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnEdit_actionPerformed(e);
}
}
class ClassInfoFrame_btnCancel_actionAdapter implements ActionListener {
private ClassInfoFrame adaptee;
ClassInfoFrame_btnCancel_actionAdapter(ClassInfoFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnCancel_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -