package com.xxxcompany.system;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
import javax.swing.plaf.DimensionUIResource;
import javax.swing.table.DefaultTableModel;
//
public class MainFrame extends JFrame implements ActionListener
{
// 创建一个容器存放课程信息
List<Course> courses = new ArrayList<>();
// 3个输入框
JTextField t1;
JTextField t2;
JTextField t3;
// 表格
Object[][] data= {};// 表格数据
String[] collumnNames = {"课程编号","课程名","课程学分"};
DefaultTableModel tableModel;// 表格的数据模型
JTable table;// 表格控件
public MainFrame()
{
super();
// 设定标题
setTitle("课程管理系统");
// 设定屏幕中的位置
setBounds(100, 100, 300, 500);
// 设定点关闭按钮时的操作 设定为退出
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p1 = new JPanel();
JLabel l1 = new JLabel("编号");
t1 = new JTextField("1");
t1.setPreferredSize(new Dimension(50, 30));// 宽度 高度
JLabel l2 = new JLabel("课程");
t2 = new JTextField("语文");
t2.setPreferredSize(new Dimension(50, 30));
JLabel l3 = new JLabel("学分");
t3 = new JTextField("10");
t3.setPreferredSize(new Dimension(50, 30));
JButton btn1 = new JButton("添加");
btn1.addActionListener(this);
btn1.setActionCommand("add");
p1.add(l1);
p1.add(t1);
p1.add(l2);
p1.add(t2);
p1.add(l3);
p1.add(t3);
p1.add(btn1);
this.add(p1,BorderLayout.SOUTH);
// 创建表格模型
tableModel = new DefaultTableModel(data,collumnNames);
// 创建表格
table = new JTable(tableModel);
// 放入一个滚动面板
JScrollPane s = new JScrollPane(table);
// 放入窗体的中间部分
this.add(s,BorderLayout.CENTER);
}
public static void main(String[] args)
{
MainFrame f = new MainFrame();
f.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e)
{
switch(e.getActionCommand())
{
case "add":
// 得到用户在界面上输入的内容
int id = Integer.parseInt(t1.getText());
String name = t2.getText();
int score = Integer.parseInt(t3.getText());
// 创建一个课程对象
Course c = new Course(id,name,score);
// 添加到课程列表中
courses.add(c);
System.out.println(courses);
refreshTable();
break;
}
}
// 刷新表格数据
public void refreshTable()
{
// 将容器中的数据放入一个二维数组中,用于给表格提供数据
Object[][] newData= new Object[courses.size()][3];
// 遍历所有课程,放入二位数组
for(int i=0;i<courses.size();i++)
{
newData[i][0] = courses.get(i).getId();
newData[i][1] = courses.get(i).getName();
newData[i][2] = courses.get(i).getScore();
}
tableModel = new DefaultTableModel(newData,collumnNames);
table.setModel(tableModel);
}
}
// 定义一个课程的类
// 属性:
// 编号 课程名字 学分
// 方法:
// 无参数、多参数构造法方法
// settter getter方法
// toString方法
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
95-课程管理系统.rar (4个子文件)
95-课程管理系统
.classpath 295B
src
com
xxxcompany
system
MainFrame.java 3KB
Course.java 872B
.project 380B
共 4 条
- 1
资源评论
蜡笔小流
- 粉丝: 2293
- 资源: 1143
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功