📄 frmcourselist.java
字号:
package com.xuanke.student.view;
import java.awt.BorderLayout;
import java.awt.ScrollPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import com.xuanke.student.control.*;
import com.xuanke.student.model.CoursetBean;
import com.xuanke.utils.DBConnectionManager;
import com.xuanke.utils.MyJDBCException;
public class FrmCourseList extends JFrame implements ActionListener{
private JPanel jContentPane = null;
private JPanel jPanelToolBar = null;
private JButton jButtonAdd = null;
private PersonalCourseTabModel ctm;
private JTable tbl;
private JButton jButtonDelete = null;
private JButton jButton = null;
/**
* This is the default constructor
*/
public FrmCourseList() {
//初始化数据库连接信息
super();
try {
DBConnectionManager.setParameter("sun.jdbc.odbc.JdbcOdbcDriver",
"jdbc:odbc:sun","","");
} catch (MyJDBCException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
initialize();
//编写列出所有学生信息的代码
//学生信息列表通过JTable列出
//control类中返回所有学生信息,这些信息通过list存储
//问题转换为把list中的信息,显示到jtable中
//构造jtable中的数据适配器类
CourseManager sm=CourseManager.getInstance();
try {
List students=sm.findPersonalAll();
ctm=new PersonalCourseTabModel(students);
tbl=new JTable(ctm);
JScrollPane sp=new JScrollPane(tbl);
this.add(sp,BorderLayout.CENTER);
} catch (BusinessException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
this.validate();
this.setVisible(true);
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJPanelToolBar(), java.awt.BorderLayout.NORTH);
}
return jContentPane;
}
/**
* This method initializes jPanelToolBar
*
* @return javax.swing.JPanel
*/
private JPanel getJPanelToolBar() {
if (jPanelToolBar == null) {
jPanelToolBar = new JPanel();
jPanelToolBar.setPreferredSize(new java.awt.Dimension(10,60));
jPanelToolBar.add(getJButtonAdd(), null);
jPanelToolBar.add(getJButtonDelete(), null);
jPanelToolBar.add(getJButton(), null);
}
return jPanelToolBar;
}
/**
* This method initializes jButtonAdd
*
* @return javax.swing.JButton
*/
private JButton getJButtonAdd() {
if (jButtonAdd == null) {
jButtonAdd = new JButton();
jButtonAdd.setText("选课");
jButtonAdd.addActionListener(this);
}
return jButtonAdd;
}
/**
* This method initializes jButtonDelete
*
* @return javax.swing.JButton
*/
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if(e.getSource()==this.jButtonAdd){
new FrmCourseAdd();
}
else if(e.getSource()==this.jButtonDelete){
//获取当前课程号,并调用control中相应方法进行删除
if(this.tbl.getSelectedRow()<0){
JOptionPane.showMessageDialog(this,"请选择课程!");
return;
}
//根据当前行提取课程信息
CoursetBean student=
(CoursetBean)this.ctm.getStudents().get(this.tbl.getSelectedRow());
CourseManager sm=CourseManager.getInstance();
//删除完成后重新显示内容
try {
sm.delete(student.getId());
//从数据库中删除后,在JTable的数据结构中也删除相应内容
ctm.getStudents().remove(this.tbl.getSelectedRow());
} catch (BusinessException e1) {
// TODO 自动生成 catch 块
JOptionPane.showMessageDialog(this,e1.getMessage());
e1.printStackTrace();
}
this.validate();
this.repaint();
}
else if(e.getSource()==this.jButton){
try {
DBConnectionManager.setParameter("sun.jdbc.odbc.JdbcOdbcDriver",
"jdbc:odbc:sun","","");
} catch (MyJDBCException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
CourseManager sm=CourseManager.getInstance();
try {
List students=sm.findPersonalAll();
ctm=new PersonalCourseTabModel(students);
tbl=new JTable(ctm);
JScrollPane sp=new JScrollPane(tbl);
this.add(sp,BorderLayout.CENTER);
} catch (BusinessException e2) {
// TODO 自动生成 catch 块
e2.printStackTrace();
}
//this.tbl.validate();
this.validate();
//this.repaint();
}
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButtonDelete() {
if (jButtonDelete == null) {
jButtonDelete = new JButton();
jButtonDelete.setText("删除");
jButtonDelete.addActionListener(this);
}
return jButtonDelete;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("刷新");
jButton.addActionListener(this);
}
return jButton;
}
/*public static void main(String[] args) {
new FrmCourseList();
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -