?? 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() {
//初始化數(shù)據(jù)庫連接信息
super();
try {
DBConnectionManager.setParameter("sun.jdbc.odbc.JdbcOdbcDriver",
"jdbc:odbc:sun","","");
} catch (MyJDBCException e1) {
// TODO 自動生成 catch 塊
e1.printStackTrace();
}
initialize();
//編寫列出所有學生信息的代碼
//學生信息列表通過JTable列出
//control類中返回所有學生信息,這些信息通過list存儲
//問題轉(zhuǎn)換為把list中的信息,顯示到jtable中
//構造jtable中的數(shù)據(jù)適配器類
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){
//獲取當前課程號,并調(diào)用control中相應方法進行刪除
if(this.tbl.getSelectedRow()<0){
JOptionPane.showMessageDialog(this,"請選擇課程!");
return;
}
//根據(jù)當前行提取課程信息
CoursetBean student=
(CoursetBean)this.ctm.getStudents().get(this.tbl.getSelectedRow());
CourseManager sm=CourseManager.getInstance();
//刪除完成后重新顯示內(nèi)容
try {
sm.delete(student.getId());
//從數(shù)據(jù)庫中刪除后,在JTable的數(shù)據(jù)結構中也刪除相應內(nèi)容
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 + -