📄 viewcourseframe.java~23~
字号:
package edu.xscj.business;
import javax.swing.*;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.table.DefaultTableModel;
import edu.xscj.action.*;
import edu.xscj.conn.*;
import java.sql.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ViewCourseFrame extends JFrame {
public ViewCourseFrame() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
this.courseInfo("select * from course");
this.getContentPane().setLayout(xYLayout1);
xYLayout1.setWidth(585);
xYLayout1.setHeight(553);
jEditPanel.setLayout(xYLayout2);
jMenuItem1.setText("刷新");
jMenuItem2.setText("添加课程");
jMenuItem3.setText("删除");
jMenuItem3.addActionListener(new
ViewCourseFrame_jMenuItem3_actionAdapter(this));
jTable1.addMouseListener(new ViewCourseFrame_jTable1_mouseAdapter(this));
this.getContentPane().add(jTableScrollPane,
new XYConstraints(3, 7, 575, 264));
jTableScrollPane.getViewport().add(jTable1);
this.getContentPane().add(jEditPanel,
new XYConstraints(3, 309, 574, 230));
jPopupMenu1.add(jMenuItem1);
jPopupMenu1.add(jMenuItem2);
jPopupMenu1.add(jMenuItem3);
this.setSize(600, 550);
this.setResizable(false);
this.setTitle("浏览课程信息");
}
XYLayout xYLayout1 = new XYLayout();
JScrollPane jTableScrollPane = new JScrollPane();
JPanel jEditPanel = new JPanel();
JTable jTable1 = new JTable();
XYLayout xYLayout2 = new XYLayout();
DefaultTableModel tableModel = new DefaultTableModel();
JPopupMenu jPopupMenu1 = new JPopupMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
int row = 0;
public void courseInfo(String sql) {
Connection conn = null;
Statement stmt = null;
ResultSet rst = null;
tableModel.setColumnCount(0);
tableModel.setRowCount(0);
tableModel.addColumn("课程编号");
tableModel.addColumn("课程名");
tableModel.addColumn("学分");
try {
conn = ConnectDataBase.getConn();
stmt = conn.createStatement();
rst = stmt.executeQuery(sql);
int i = 0;
while (rst.next()) {
tableModel.setNumRows(i + 1);
tableModel.setValueAt(rst.getString("courNo"), i, 0);
tableModel.setValueAt(rst.getString("courName"), i, 1);
tableModel.setValueAt(rst.getString("courXuefen"), i, 2);
i++;
}
jTable1.setModel(tableModel);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (rst != null) {
rst.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public int getRow() {
return row;
}
public void setRow(int row) {
this.row = row;
}
public void jTable1_mouseClicked(MouseEvent e) {
int i = e.getButton();
int y = e.getY();
int x = e.getX();
if (i == 3) {
row = e.getY() / jTable1.getRowHeight();
jTable1.setRowSelectionInterval(row, row);
jPopupMenu1.show(e.getComponent(), x, y);
} else {
row = jTable1.getSelectedRow();
}
jTable1.setSelectionBackground(Color.cyan);
jTable1.setSelectionForeground(Color.red);
}
public void jMenuItem3_actionPerformed(ActionEvent e) {
String courseNo = (String) jTable1.getModel().getValueAt(row, 0);
DeleteCourseAction delCourse = new DeleteCourseAction();
delCourse.deleteCourse(courseNo);
try {
this.setVisible(false);
this.dispose();
new ViewCourseFrame().setVisible(true);
} catch (Exception ex) {
}
}
}
class ViewCourseFrame_jMenuItem3_actionAdapter implements ActionListener {
private ViewCourseFrame adaptee;
ViewCourseFrame_jMenuItem3_actionAdapter(ViewCourseFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem3_actionPerformed(e);
}
}
class ViewCourseFrame_jTable1_mouseAdapter extends MouseAdapter {
private ViewCourseFrame adaptee;
ViewCourseFrame_jTable1_mouseAdapter(ViewCourseFrame adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jTable1_mouseClicked(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -