package com.course.view;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import com.course.dao.CourseManager;
import com.course.dao.MyCourseManager;
import com.course.entity.Course;
import com.course.entity.MyCourse;
public class StudentClient
{
// 定义布局
BorderLayout mainLayout = new BorderLayout();
String userid ="";
CardLayout layout = new CardLayout();
JFrame bamFrame;
MainPanel mainPanel = new MainPanel();// 主面板
JPanel upPanel = new JPanel();// 主面板中的---上面板
JPanel downPanel = new JPanel();// 主面板中的---下面板
CourseManager coursemanager = new CourseManager();
MyCourseManager mycoursemanager = new MyCourseManager();
AddCoursePanel addCoursePanel = new AddCoursePanel();//添加课程页面
MyCousrePanel myCousrePanel = new MyCousrePanel();//我的选课
final Object[] columnNames = {"课程编号", "课程名称", "备注"}; //列名最好用final修饰
Object[][] rowData = queryData("");
DefaultTableModel model = new DefaultTableModel(rowData,columnNames);
JTable dataTable = new JTable (model);
JScrollPane pane1;
JScrollPane pane2;
JScrollPane pane3;
public StudentClient(String uid) {
userid=uid;
downPanel.setLayout(layout);
dataTable.setPreferredScrollableViewportSize(new Dimension(700, 350));//设置表格的大小
dataTable.setRowHeight (30);//设置每行的高度为20
dataTable.setRowHeight (0, 20);//设置第1行的高度为15
dataTable.setRowMargin (5);//设置相邻两行单元格的距离
dataTable.setSelectionBackground (Color.white);//设置所选择行的背景色
dataTable.setSelectionForeground (Color.blue);//设置所选择行的前景色
//friends.setGridColor (Color.black);//设置网格线的颜色
dataTable.selectAll ();//选择所有行
//dataTable.setRowSelectionInterval (0,2);//设置初始的选择行,这里是1到3行都处于选择状态
dataTable.clearSelection ();//取消选择
dataTable.setDragEnabled (false);//不懂这个
dataTable.setShowGrid (false);//是否显示网格线
dataTable.setShowHorizontalLines (false);//是否显示水平的网格线
dataTable.setShowVerticalLines (true);//是否显示垂直的网格线
//friends.setValueAt ("tt", 0, 0);//设置某个单元格的值,这个值是一个对象
dataTable.doLayout ();
dataTable.setBackground (Color.lightGray);
// 设置表格中的数据居中显示
DefaultTableCellRenderer r=new DefaultTableCellRenderer();
r.setHorizontalAlignment(JLabel.CENTER);
dataTable.setDefaultRenderer(Object.class,r);
pane1 = new JScrollPane (addCoursePanel);//JTable最好加在JScrollPane上
pane1.setPreferredSize(new Dimension (700,350));
pane2 = new JScrollPane (myCousrePanel);//JTable最好加在JScrollPane上
pane2.setPreferredSize(new Dimension (700,350));
pane3 = new JScrollPane (dataTable);
pane3.setPreferredSize(new Dimension (700,350));
downPanel.add("cardSelect", pane3);// 卡片一 (添加)
downPanel.add("myCourse", pane2);// 卡片一 (添加)
downPanel.add("cardAdd", pane1);// 卡片一 (查询)
upPanel.add(mainPanel);
//downPanel.add(addCoursePanel);
//downPanel.add(pane1);
// 定义主窗体
bamFrame = new JFrame("学生选课管理");
bamFrame.setLayout(mainLayout);
bamFrame.setSize(750, 450);// 设定窗体大小
// 给窗体加面板
bamFrame.add(upPanel, BorderLayout.NORTH);
bamFrame.add(downPanel, BorderLayout.SOUTH);
addListeners();// 调用监听方法
bamFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//bamFrame.pack();
bamFrame.setVisible(true);
//设置窗口居中
bamFrame.setLocationRelativeTo(null);
}
// 窗体中部分对象监听方法
private void addListeners() {
// 查询按钮
mainPanel.getSelectButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String cname = mainPanel.getCourseField().getText();
System.out.print(cname);
Object[][] rowData2 = queryData(cname);
model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "cardSelect");
}
});
// 添加按钮
mainPanel.getAddButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(downPanel, "cardAdd");
}
});
// 我的选课按钮
mainPanel.getMyButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Object[][] rowData2=queryMyCourse(userid);
myCousrePanel.model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "myCourse");
}
});
// 点击《提交》按钮
addCoursePanel.getOkButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String courseid = addCoursePanel.getCourseIdText().getText();
String coursename = addCoursePanel.getCourseNameText().getText();
String note = addCoursePanel.getNoteText().getText();
boolean isture = addCC(courseid, coursename, coursename);
if(isture) {
Object[][] rowData2 = queryData("");
model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "cardSelect");
}else {
JOptionPane.showMessageDialog(addCoursePanel, "添加课程失败!");
}
}
});
// 点击《返回》按钮
addCoursePanel.getBackButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(downPanel, "cardSelect");
}
});
// 点击《选课》按钮
mainPanel.getCheckButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = dataTable.getSelectedRow();
if(i>=0) {
int index1 = dataTable.getSelectedRow();//获取选中的行
String courseid = (String) dataTable.getValueAt(index1, 0);
String coursename = (String) dataTable.getValueAt(index1, 1);
String note = (String) dataTable.getValueAt(index1, 2);
MyCourse myCourse = new MyCourse();
myCourse.setCourseid(courseid);
myCourse.setCoursename(coursename);
myCourse.setNote(note);
myCourse.setUid(userid);
MyCourseManager mycoursemanager2 = new MyCourseManager();
boolean j= mycoursemanager2.addMyCourse(myCourse);
if(j) {
JOptionPane.showMessageDialog(downPanel, "选课成功!");
}else {
JOptionPane.showMessageDialog(downPanel, "您已修该课程,请重新选择!");
}
}else {
JOptionPane.showMessageDialog(downPanel, "请选择课程列表!");
}
}
});
// 点击《删除》按钮
mainPanel.getDelButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = dataTable.getSelectedRow();
if(i>=0) {
int index1 = dataTable.getSelectedRow();//获取选中的行
String courseid = (String) dataTable.getValueAt(index1, 0);
CourseManager coursemanager2 = new CourseManager();
int j= coursemanager2.deleteCourse(courseid);
if(j>0) {
JOptionPane.showMessageDialog(downPanel, "删除成功!");
Object[][] rowData2 = queryData("");
model.setDataVector(rowData2, columnNames);
}else {
JOptionPane.showMessageDialog(downPanel, "删除失败!");
Object[][] rowData2 = queryData("");
model.setDataVector(rowData2, columnNames);
}
}else {
JOptionPane.showMessageDialog(downPanel, "请选择要删除的课程!");
}
}
});
// 点击《退课》按钮
mainPanel.getReButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.print(false);
int i = myCousrePanel.mdataTable.getSelectedRo
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java+Swing+dat文件存储实现学生选课管理系统(高分期末大作业)已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值 系统展示 1.用户登陆、注册 2.课程信息查询 3.添加课程 4.选课 5.退课 详情:https://blog.csdn.net/Timi2019/article/details/124613238
资源推荐
资源详情
资源评论
收起资源包目录
Java+Swing+dat文件存储实现学生选课管理系统(高分期末大作业).rar (37个子文件)
Java+Swing+dat文件存储实现学生选课管理系统(高分期末大作业)
MyCourse
.classpath 396B
.settings
org.eclipse.jdt.core.prefs 781B
src
com
course
dao
CourseManager.java 4KB
UserManager.java 3KB
MyCourseManager.java 4KB
view
AddCoursePanel.java 2KB
MyCousrePanel.java 2KB
StudentClient.java 10KB
MyFrame.java 7KB
MainPanel.java 2KB
entity
MyCourse.java 819B
Course.java 667B
User.java 384B
user.dat 113B
course.dat 188B
bin
com
course
dao
UserManager.class 4KB
MyCourseManager.class 5KB
CourseManager.class 5KB
view
MyFrame.class 6KB
AddCoursePanel.class 2KB
StudentClient$4.class 2KB
StudentClient$1.class 2KB
StudentClient$2.class 937B
StudentClient$8.class 2KB
StudentClient$5.class 940B
StudentClient$3.class 1KB
StudentClient$6.class 2KB
StudentClient.class 7KB
MyFrame$1.class 1KB
MainPanel.class 2KB
MyCousrePanel.class 2KB
StudentClient$7.class 2KB
entity
User.class 727B
MyCourse.class 1KB
Course.class 951B
.project 384B
mycourse.dat 222B
共 37 条
- 1
资源评论
小码叔
- 粉丝: 4260
- 资源: 1207
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功