package cn.student.view;
import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.JButton;
import javax.swing.JComboBox;
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 cn.student.dao.CourseDao;
import cn.student.dao.ScoreDao;
import cn.student.model.Course;
import cn.student.model.Student;
import cn.student.model.Users;
public class CourseFrame extends JFrame
{
// 定义布局
BorderLayout mainLayout = new BorderLayout();
CardLayout layout = new CardLayout();
JFrame bamFrame;
MainPanel mainPanel = new MainPanel();// 主面板
CoursePanel coursePanel = new CoursePanel();
JPanel upPanel = new JPanel();// 主面板中的---上面板
JPanel downPanel = new JPanel();// 主面板中的---下面板
JPanel leftPanel = new JPanel();// 主面板中的---左面板
JPanel rightPanel = new JPanel();// 主面板中的---右面板
ScoreDao scoredao = new ScoreDao();
ScoreMainPanel scoreMainPanel = new ScoreMainPanel();//成绩容器
ScoreAddPanel scoreAddPanel = new ScoreAddPanel();
CourseDao coursedao = new CourseDao();
CourseUpdatePanel courseUpdatePanel = new CourseUpdatePanel();//添加课程页面
final Object[] columnNames = {"序号","学期", "课程编号", "课程名称","学分", "任课老师"}; //列名最好用final修饰
Object[][] rowData = queryData("");;
DefaultTableModel model = new DefaultTableModel(rowData,columnNames);
JTable dataTable = new JTable (model);
JScrollPane pane2;
JScrollPane pane3;
public CourseFrame() {
downPanel.setLayout(layout);
dataTable.setPreferredScrollableViewportSize(new Dimension(900, 500));//设置表格的大小
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 (1,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);
pane2 = new JScrollPane (courseUpdatePanel);//JTable最好加在JScrollPane上
pane2.setPreferredSize(new Dimension (900,500));
//JScrollPane pane2 = new JScrollPane (example2);
coursePanel.add(new JScrollPane (dataTable), BorderLayout.SOUTH);
// 定义布局
BorderLayout mainLayout = new BorderLayout();
// 左布局
leftPanel.add(mainPanel);
leftPanel.setBackground(Color.WHITE);// 左边背影色
//右布局
rightPanel.setLayout(layout);
rightPanel.add("coursePanel", coursePanel);//
rightPanel.add("scoreMainPanel", scoreMainPanel);//
rightPanel.add("courseUpdatePanel", courseUpdatePanel);//
rightPanel.add("scoreAddPanel", scoreAddPanel);//
// 定义主窗体
bamFrame = new JFrame("学生成绩管理系统(管理员端)");
bamFrame.getContentPane().setLayout(mainLayout);
bamFrame.setSize(1050, 600);// 设定窗体大小
// 给窗体加面板
bamFrame.getContentPane().add(leftPanel, BorderLayout.WEST);
bamFrame.getContentPane().add(rightPanel, BorderLayout.CENTER);
addListeners();// 调用监听方法
bamFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//bamFrame.pack();
bamFrame.setVisible(true);
//设置窗口居中
bamFrame.setLocationRelativeTo(null);
}
// 窗体中部分对象监听方法
private void addListeners() {
// 在窗体的左容器上点查询按钮
mainPanel.getCourseButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(rightPanel, "coursePanel");
}
});
// 在窗体的左容器上点
mainPanel.getScoreButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String cname = scoreMainPanel.scorePanel.getsnoField().getText();
System.out.print(cname);
scoreMainPanel.queryData(cname);
layout.show(rightPanel, "scoreMainPanel");
}
});
// 查询按钮
coursePanel.getSelectButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String cname = coursePanel.getsnoField().getText();
System.out.print(cname);
Object[][] rowData2 = queryData(cname);
model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "cardSelect");
}
});
// 添加按钮
coursePanel.getUpdateButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = dataTable.getSelectedRow();
if(i>=0) {
String courseid = (String) dataTable.getValueAt(i, 0);
String semester = (String) dataTable.getValueAt(i, 1);
String couserno = (String) dataTable.getValueAt(i, 2);
String coursename = (String) dataTable.getValueAt(i, 3);
String mark = (String) dataTable.getValueAt(i, 4);
String teachername = (String) dataTable.getValueAt(i, 5);
courseUpdatePanel.getCourseidText().setText(courseid);
courseUpdatePanel.getCoursenameText().setText(coursename);
courseUpdatePanel.getSemesterText().setText(semester);
courseUpdatePanel.getCousernoText().setText(couserno);
courseUpdatePanel.getMarkText().setText(mark);
layout.show(rightPanel, "courseUpdatePanel");
}else {
JOptionPane.showMessageDialog(rightPanel, "请选择要添加任课老师的课程!");
return;
}
}
});
// 点击《提交》按钮
courseUpdatePanel.getOkButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String courseid = courseUpdatePanel.getCourseidText().getText();
String coursename = courseUpdatePanel.getCoursenameText().getText();
String couserno = courseUpdatePanel.getCousernoText().getText();
String mark = courseUpdatePanel.getMarkText().getText();
String semester = courseUpdatePanel.getSemesterText().getText();
Users user1 = (Users) courseUpdatePanel.getJcb_choose().getSelectedItem();
String teacherid = user1.getUserid();
String teachername = user1.getName();
int i = coursedao.updateCourse(courseid,couserno,coursename,semester,mark,teachername,teacherid);
if(i>0) {
JOptionPane.showMessageDialog(downPanel, "添加任课老师成功!");
Object[][] rowData2 = queryData("");
model.setDataVector(rowData2, columnNames);
layout.show(rightPanel, "coursePanel");
}else{
JOptionPane.showMessageDialog(downPanel, "添加任课老师失败!");
}
}
});
// 点击《返回》按钮
courseUpdatePanel.getBackButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Object[][] rowData2 = queryData("");
model.setDataVector(rowData2, columnNames);
layout.show(rightPanel, "coursePanel");
}
});
// 查询成绩按钮
scoreMainPanel.scorePanel.getSelectButton().
没有合适的资源?快使用搜索试试~ 我知道了~
Java+Swing+sqlserver学生成绩管理系统(高分期末大作业).rar
共66个文件
class:40个
java:21个
project:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 17 浏览量
2023-12-28
17:03:54
上传
评论
收藏 760KB RAR 举报
温馨提示
Java+Swing+sqlserver学生成绩管理系统(高分期末大作业)已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 管理员:登陆页面、课程管理、选课管理 老师:给学生打分 学生:查询个人成绩 详情:https://blog.csdn.net/Timi2019/article/details/128282796
资源推荐
资源详情
资源评论
收起资源包目录
Java+Swing+sqlserver学生成绩管理系统(高分期末大作业).rar (66个子文件)
Java+Swing+sqlserver学生成绩管理系统(高分期末大作业)
StudentManage
lib
sqljdbc4.jar 455KB
.classpath 287B
.settings
org.eclipse.jdt.core.prefs 646B
src
cn
student
dao
CourseDao.java 4KB
UserDao.java 2KB
ScoreDao.java 6KB
view
TeacherUpdatePanel.java 5KB
TeacherPanel.java 2KB
TeacherFrame.java 8KB
ScorePanel.java 1KB
ScoreAddPanel.java 4KB
StudentPanel.java 1KB
StudentFrame.java 5KB
CourseUpdatePanel.java 4KB
CoursePanel.java 1KB
ScoreMainPanel.java 4KB
MainPanel.java 754B
CourseFrame.java 11KB
LoginFrame.java 6KB
model
Score.java 2KB
Users.java 910B
Course.java 1KB
Student.java 1KB
util
DbUtils.java 1KB
bin
cn
student
dao
UserDao.class 3KB
CourseDao.class 4KB
ScoreDao.class 5KB
view
CoursePanel.class 1KB
CourseFrame$9.class 3KB
CourseFrame$2.class 1KB
LoginFrame.class 7KB
ScorePanel.class 1KB
TeacherFrame$4.class 1KB
StudentFrame.class 5KB
CourseFrame$3.class 2KB
CourseFrame$8.class 913B
TeacherUpdatePanel.class 4KB
CourseFrame$1.class 911B
TeacherPanel.class 2KB
StudentPanel.class 1KB
CourseFrame$4.class 2KB
TeacherFrame.class 6KB
LoginFrame$1.class 765B
CourseFrame$10.class 1KB
TeacherFrame$3.class 2KB
MainPanel.class 895B
LoginFrame$3.class 728B
CourseUpdatePanel.class 4KB
ScoreAddPanel.class 4KB
CourseFrame$6.class 1KB
CourseFrame$5.class 3KB
LoginFrame$2.class 765B
StudentFrame$1.class 2KB
CourseFrame$11.class 646B
CourseFrame$7.class 1KB
CourseFrame.class 7KB
TeacherFrame$2.class 2KB
ScoreMainPanel.class 4KB
TeacherFrame$1.class 2KB
model
Score.class 3KB
Users.class 1KB
Student.class 2KB
Course.class 2KB
util
DbUtils.class 1KB
.project 382B
db
studentmanage.bak 3.33MB
共 66 条
- 1
资源评论
小码叔
- 粉丝: 4159
- 资源: 1181
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 原生微信小程序源码 - -滴滴公交-查公交
- 人工智能实验四 感知器算法的设计实现
- java小项目多线程多线程 复制文件 冒泡排序 群聊
- 四数之和(java代码).docx
- 701837906919458TapScanner v3.0.10 (Pro).apk
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功