⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmcourselist.java

📁 功能还没做全的选课系统
💻 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 + -