java课程设计 成绩_Java课程设计之学习成绩管理系统

0_13242077009u44.gif

0_1324207901xeXy.gif

0_13242079154uCf.gif

package System;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

import javax.swing.table.AbstractTableModel;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.TableCellRenderer;

import javax.swing.table.TableColumn;

public class main extends JFrame implements ActionListener, MouseListener

{

String FileName = "D:\\Jworkspace\\学生管理系统\\src\\information.txt";

private JMenuBar typeMenu;

private JMenu file, display, edit, help, sort,delete,alter,add,subject,search,ratio,avg,pie,histogram;

private JMenuItem seeItem,addClass,addStudent,pageone,exit,alterName,alterID,

deleteID,deleteName,deleteClass,deleteSex,deleteAge,deleteCollage,

searchID,searchName,searchClass,searchSex,searchAge,searchCollage,

ID, age, software,math, system, java,

pieMath,pieSystem,pieJava,pieSoftware,

histogramMath,histogramSystem,histogramSoftware,histogramJava,

totalGrade,helpItem,avgMath,avgJava,avgSystem,avgSoftware;

private CardLayout cardl;

private TableColumn col1,col2,col3,col4,col5,col6,col7,col8,col9,col10;

private JPanel card,jpSee,jpAddStudent,jpAlterByID,jpAlterByName, jpMain,jpSearch,jphelp;

private JTable jtable;

private JLabel jl,jlAdd1, jlAdd2, jlAdd3, jlAdd4, jlAdd5, jlAdd6, jlAdd7, jlAdd8, jlAdd9, jlAdd10, jlAdd11, jlAdd12,jlAdd13,

jlMain1, jlMain2,

jlAlter1,jlAlter2,jlAlter3,jlAlter4,jlAlter5,jlAlter6,jlAlter7;

private JTextField jtAddClass, jtAddID, jtAddName, jtAddAge,jtAddCollage, jtAddSoftware, jtAddMath, jtAddSystem, jtAddJava,

jtAlterID,jtAlterName,jtAlterAge,jtAlterClass,jtAlterCollage,jtAlterMath,jtAlterSoftware,jtAlterJava,jtAlterSystem,

jtAlterID2,jtAlterName2,jtAlterAge2,jtAlterClass2,jtAlterCollage2,jtAlterMath2,jtAlterSoftware2,jtAlterJava2,jtAlterSystem2;

private JRadioButton jr_man, jr_woman,jr_man2, jr_woman2;

private ButtonGroup sexgroup,sexgroup2;

private JButton jbAddSure,jbAlterSure,jbAlterSure2;

private int row;

private String[] collage = { "信息学院", "信电学院", "土建学院", "地质学院", "经管学院", "外国语学院", "化工学院" };

private String[] class1 = { "计算机09-1", "计算机09-2", "计算机09-3", "网络", "软件", "电科" };

private JScrollPane js;

private String[][] student = new String [100][25];;

public main()

{

Container c = getContentPane();

c.setLayout(null);

typeMenu = new JMenuBar();// 应用程序菜单的容器

setJMenuBar(typeMenu);

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// 菜单Display

file = new JMenu("系统");

file.setFont(new Font("宋体", Font.PLAIN, 14));

typeMenu.add(file);

// 菜单Display

display = new JMenu("查看");

display.setFont(new Font("宋体", Font.PLAIN, 14));

typeMenu.add(display);

// 菜单Edit

edit = new JMenu("编辑信息");

edit.setFont(new Font("宋体", Font.PLAIN, 14));

typeMenu.add(edit);

// 菜单Sort

sort = new JMenu("排序");

sort.setFont(new Font("宋体", Font.PLAIN, 14));

typeMenu.add(sort);

//菜单avg

avg = new JMenu("平均分");

avg.setFont(new Font("宋体", Font.PLAIN, 14));

typeMenu.add(avg);

// 菜单ratio

ratio = new JMenu("比例图");

ratio.setFont(new Font("宋体", Font.PLAIN, 14));

typeMenu.add(ratio);

// 菜单Help

help = new JMenu("Help");

help.setFont(new Font("宋体", Font.PLAIN, 14));

typeMenu.add(help);

//Help

helpItem = new JMenuItem("Help");

helpItem.setFont(new Font("宋体", Font.PLAIN, 14));

help.add(helpItem);

helpItem.addActionListener(this);

helpItem.setActionCommand("帮助");

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//首页

pageone = new JMenuItem("首页");

pageone.setFont(new Font("宋体", Font.PLAIN, 14));

file.add(pageone);

pageone.addActionListener(this);

pageone.setActionCommand("首页");

file.addSeparator();

//退出

exit = new JMenuItem("退出");

exit.setFont(new Font("宋体", Font.PLAIN, 14));

file.add(exit);

exit.addActionListener(this);

exit.setActionCommand("退出");

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//查看

seeItem = new JMenuItem("查看");

seeItem.setFont(new Font("宋体", Font.PLAIN, 14));

display.add(seeItem);

seeItem.addActionListener(this);

seeItem.setActionCommand("查看");

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//删除

delete = new JMenu("删除");

delete.setMnemonic(KeyEvent.VK_D);

delete.setFont(new Font("宋体", Font.PLAIN, 14));

edit.add(delete);

delete.addActionListener(this);

delete.setActionCommand("删除");

edit.addSeparator();

//按学号删除

deleteID = new JMenuItem("按学号删除");

deleteID.setFont(new Font("宋体", Font.PLAIN, 13));

delete.add(deleteID);

deleteID.addActionListener(this);

deleteID.setActionCommand("按学号删除");

delete.addSeparator();

//按姓名删除

deleteName = new JMenuItem("按姓名删除");

deleteName.setFont(new Font("宋体", Font.PLAIN, 13));

delete.add(deleteName);

deleteName.addActionListener(this);

deleteName.setActionCommand("按姓名删除");

delete.addSeparator();

//按学院删除

deleteCollage = new JMenuItem("按学院删除");

deleteCollage.setFont(new Font("宋体", Font.PLAIN, 13));

delete.add(deleteCollage);

deleteCollage.addActionListener(this);

deleteCollage.setActionCommand("按学院删除");

delete.addSeparator();

//按班级删除

deleteClass = new JMenuItem("按班级删除");

deleteClass.setFont(new Font("宋体", Font.PLAIN, 13));

delete.add(deleteClass);

deleteClass.addActionListener(this);

deleteClass.setActionCommand("按班级删除");

delete.addSeparator();

//按性别删除

deleteSex = new JMenuItem("按性别删除");

deleteSex.setFont(new Font("宋体", Font.PLAIN, 13));

delete.add(deleteSex);

deleteSex.addActionListener(this);

deleteSex.setActionCommand("按性别删除");

delete.addSeparator();

//按年龄删除

deleteAge = new JMenuItem("按年龄删除");

deleteAge.setFont(new Font("宋体", Font.PLAIN, 13));

delete.add(deleteAge);

deleteAge.addActionListener(this);

deleteAge.setActionCommand("按年龄删除");

//添加

add = new JMenu("添加");

add.setMnemonic(KeyEvent.VK_A);

add.setFont(new Font("宋体", Font.PLAIN, 14));

edit.add(add);

edit.addSeparator();

add.addActionListener(this);

add.setActionCommand("添加");

按学号添加

//addClass = new JMenuItem("添加班级");

//addClass.setFont(new Font("宋体", Font.PLAIN, 13));

//add.add(addClass);

//addClass.addActionListener(this);

//addClass.setActionCommand("添加班级");

//add.addSeparator();

//添加学生

addStudent = new JMenuItem("添加学生");

addStudent.setFont(new Font("宋体", Font.PLAIN, 13));

add.add(addStudent);

addStudent.addActionListener(this);

addStudent.setActionCommand("添加学生");

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//修改

alter = new JMenu("修改");

alter.setMnemonic(KeyEvent.VK_A);

alter.setFont(new Font("宋体", Font.PLAIN, 14));

edit.add(alter);

alter.addActionListener(this);

alter.setActionCommand("修改");

edit.addSeparator();

//按学号修改

alterID = new JMenuItem("按学号修改");

alterID.setFont(new Font("宋体", Font.PLAIN, 13));

alter.add(alterID);

alterID.addActionListener(this);

alterID.setActionCommand("按学号修改");

alter.addSeparator();

//按姓名修改

alterName = new JMenuItem("按姓名修改");

alterName.setFont(new Font("宋体", Font.PLAIN, 13));

alter.add(alterName);

alterName.addActionListener(this);

alterName.setActionCommand("按姓名修改");

//查询

search = new JMenu("查询");

search.setFont(new Font("宋体", Font.PLAIN, 14));

edit.add(search);

search.addActionListener(this);

search.setActionCommand("查询");

//按学号查询

searchID = new JMenuItem("按学号查询");

searchID.setFont(new Font("宋体", Font.PLAIN, 13));

search.add(searchID);

searchID.addActionListener(this);

searchID.setActionCommand("按学号查询");

search.addSeparator();

//姓名查询

searchName = new JMenuItem("按姓名查询");

searchName.setFont(new Font("宋体", Font.PLAIN, 13));

search.add(searchName);

searchName.addActionListener(this);

searchName.setActionCommand("按姓名查询");

search.addSeparator();

//按学院查询

searchCollage = new JMenuItem("按学院查询");

searchCollage.setFont(new Font("宋体", Font.PLAIN, 13));

search.add(searchCollage);

searchCollage.addActionListener(this);

searchCollage.setActionCommand("按学院查询");

search.addSeparator();

//按班级查询

searchClass = new JMenuItem("按班级查询");

searchClass.setFont(new Font("宋体", Font.PLAIN, 13));

search.add(searchClass);

searchClass.addActionListener(this);

searchClass.setActionCommand("按班级查询");

search.addSeparator();

//按性别查询

searchSex = new JMenuItem("按性别查询");

searchSex.setFont(new Font("宋体", Font.PLAIN, 13));

search.add(searchSex);

searchSex.addActionListener(this);

searchSex.setActionCommand("按性别查询");

search.addSeparator();

//按年龄查询

searchAge = new JMenuItem("按年龄查询");

searchAge.setFont(new Font("宋体", Font.PLAIN, 13));

search.add(searchAge);

searchAge.addActionListener(this);

searchAge.setActionCommand("按年龄查询");

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//排序

//按学号排序

ID = new JMenuItem("按学号排序");

ID.setFont(new Font("宋体", Font.PLAIN, 14));

sort.add(ID);

sort.addSeparator();

ID.addActionListener(this);

ID.setActionCommand("按学号排序");

//按年龄排序

age = new JMenuItem("按年龄排序");

age.setFont(new Font("宋体", Font.PLAIN, 14));

sort.add(age);

sort.addSeparator();

age.addActionListener(this);

age.setActionCommand("按年龄排序");

//按总成绩排序

totalGrade = new JMenuItem("按总成绩排序");

totalGrade.setFont(new Font("宋体", Font.PLAIN, 14));

sort.add(totalGrade);

sort.addSeparator();

totalGrade.addActionListener(this);

totalGrade.setActionCommand("按总成绩排序");

//按单科成绩排序

subject = new JMenu("按单科成绩排序");

subject.setFont(new Font("宋体", Font.PLAIN, 14));

sort.add(subject);

//按数学排序

math = new JMenuItem("按数学排序");

math.setFont(new Font("宋体", Font.PLAIN, 14));

subject.add(math);

math.addActionListener(this);

math.setActionCommand("按数学排序");

subject.addSeparator();

//按Java排序

java = new JMenuItem("按Java排序");

java.setFont(new Font("宋体", Font.PLAIN, 14));

subject.add(java);

java.addActionListener(this);

java.setActionCommand("按Java排序");

subject.addSeparator();

//按软件工程排序

software = new JMenuItem("按软件工程排序");

software.setFont(new Font("宋体", Font.PLAIN, 14));

subject.add(software);

software.addActionListener(this);

software.setActionCommand("按软件工程排序");

subject.addSeparator();

//按操作系统排序

system = new JMenuItem("按操作系统排序");

system.setFont(new Font("宋体", Font.PLAIN, 14));

subject.add(system);

system.addActionListener(this);

system.setActionCommand("按操作系统排序");

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//课程平均分

//求数学平均分

avgMath = new JMenuItem("求数学平均分");

avgMath.setFont(new Font("宋体", Font.PLAIN, 14));

avg.add(avgMath);

avgMath.addActionListener(this);

avgMath.setActionCommand("求数学平均分");

avg.addSeparator();

//求Java平均分

avgJava = new JMenuItem("求Java平均分");

avgJava.setFont(new Font("宋体", Font.PLAIN, 14));

avg.add(avgJava);

avgJava.addActionListener(this);

avgJava.setActionCommand("求Java平均分");

avg.addSeparator();

//求软件工程平均分

avgSoftware = new JMenuItem("求软件工程平均分");

avgSoftware.setFont(new Font("宋体", Font.PLAIN, 14));

avg.add(avgSoftware);

avgSoftware.addActionListener(this);

avgSoftware.setActionCommand("求软件工程平均分");

avg.addSeparator();

//求操作系统平均分

avgSystem = new JMenuItem("求操作系统平均分");

avgSystem.setFont(new Font("宋体", Font.PLAIN, 14));

avg.add(avgSystem);

avgSystem.addActionListener(this);

avgSystem.setActionCommand("求操作系统平均分");

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//饼形图

pie = new JMenu("饼形图");

pie.setFont(new Font("宋体", Font.PLAIN, 14));

ratio.add(pie);

pie.addActionListener(this);

pie.setActionCommand("饼形图");

ratio.addSeparator();

//Math柱形图

pieMath = new JMenuItem("Math");

pieMath.setFont(new Font("宋体", Font.PLAIN, 14));

pie.add(pieMath);

pieMath.addActionListener(this);

pieMath.setActionCommand("Math饼形图");

pie.addSeparator();

//Java柱形图

pieJava = new JMenuItem("Java");

pieJava.setFont(new Font("宋体", Font.PLAIN, 14));

pie.add(pieJava);

pieJava.addActionListener(this);

pieJava.setActionCommand("Java饼形图");

pie.addSeparator();

//System柱形图

pieSystem = new JMenuItem("System");

pieSystem.setFont(new Font("宋体", Font.PLAIN, 14));

pie.add(pieSystem);

pieSystem.addActionListener(this);

pieSystem.setActionCommand("System饼形图");

pie.addSeparator();

//Software柱形图

pieSoftware = new JMenuItem("Software");

pieSoftware.setFont(new Font("宋体", Font.PLAIN, 14));

pie.add(pieSoftware);

pieSoftware.addActionListener(this);

pieSoftware.setActionCommand("Software饼形图");

//柱形图

histogram = new JMenu("柱形图");

histogram.setFont(new Font("宋体", Font.PLAIN, 14));

ratio.add(histogram);

histogram.addActionListener(this);

histogram.setActionCommand("柱形图");

//Math柱形图

histogramMath = new JMenuItem("Math");

histogramMath.setFont(new Font("宋体", Font.PLAIN, 14));

histogram.add(histogramMath);

histogramMath.addActionListener(this);

histogramMath.setActionCommand("Math柱形图");

histogram.addSeparator();

//Java柱形图

histogramJava = new JMenuItem("Java");

histogramJava.setFont(new Font("宋体", Font.PLAIN, 14));

histogram.add(histogramJava);

histogramJava.addActionListener(this);

histogramJava.setActionCommand("Java柱形图");

histogram.addSeparator();

//System柱形图

histogramSystem = new JMenuItem("System");

histogramSystem.setFont(new Font("宋体", Font.PLAIN, 14));

histogram.add(histogramSystem);

histogramSystem.addActionListener(this);

histogramSystem.setActionCommand("System柱形图");

histogram.addSeparator();

//Software柱形图

histogramSoftware = new JMenuItem("Software");

histogramSoftware.setFont(new Font("宋体", Font.PLAIN, 14));

histogram.add(histogramSoftware);

histogramSoftware.addActionListener(this);

histogramSoftware.setActionCommand("Software柱形图");

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

cardl = new CardLayout();

card = new JPanel();

card.setBounds(0, 0, 650, 400);

card.setOpaque(false);

card.setLayout(cardl);

jpSearch = new JPanel();

jpMain = new JPanel();

jpAddStudent = new JPanel();

jpAlterByID = new JPanel();

jpAlterByName = new JPanel();

jpSee = new JPanel();

jphelp = new JPanel();

card.add("首页", jpMain);

card.add("按班级查询",jpSearch);

card.add("添加学生", jpAddStudent);

card.add("按姓名修改", jpAlterByName);

card.add("按学号修改", jpAlterByID);

card.add("查看", jpSee);

card.add("帮助", jphelp);

c.add(card);

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//首页

jpMain.setLayout(null);

jlMain1 = new JLabel();

jlMain1.setText("欢迎来到学生成绩管理系统");

jlMain1.setBounds(150, 100, 300, 40);

jlMain1.setFont(new Font("宋体", Font.PLAIN, 25));

jlMain1.setForeground(Color.black);

jpMain.add(jlMain1);

jlMain2 = new JLabel();

jlMain2.setText("管理员:xiaosi");

jlMain2.setBounds(230, 150, 300, 40);

jlMain2.setFont(new Font("宋体", Font.PLAIN, 20));

jlMain2.setForeground(Color.black);

jpMain.add(jlMain2);

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//帮助

jphelp.setLayout(null);

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

jpAlterByID.setLayout(null);

//按学号修改

jlAlter1 = new JLabel();

jlAlter1.setText("按学号修改");

jlAlter1.setBounds(200, 20, 170, 20);

jlAlter1.setFont(new Font("宋体", Font.PLAIN, 20));

jpAlterByID.add(jlAlter1);

jlAlter2 = new JLabel();

jlAlter2.setBounds(20, 70, 200, 20);

jlAlter2.setText("*请输入要修改学生的学号:");

jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter2);

//要修改学生的学号

jtAlterID = new JTextField();

jtAlterID.setBounds(220, 70, 150, 20);

jtAlterID.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterID);

//修改基本信息

jlAlter2 = new JLabel();

jlAlter2.setBounds(20, 100, 170, 20);

jlAlter2.setText("*修改基本信息*");

jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter2);

// 修改姓名

jlAlter3 = new JLabel();

jlAlter3.setBounds(80, 140, 50, 20);

jlAlter3.setText("姓名:");

jlAlter3.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter3);

jtAlterName = new JTextField();

jtAlterName.setBounds(130, 140, 150, 20);

jtAlterName.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterName);

// 修改年龄

jlAlter4 = new JLabel();

jlAlter4.setBounds(320, 140, 50, 20);

jlAlter4.setText("年龄:");

jlAlter4.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter4);

jtAlterAge = new JTextField();

jtAlterAge.setBounds(370, 140, 150, 20);

jtAlterAge.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterAge);

// 修改学院

jlAlter6 = new JLabel();

jlAlter6.setBounds(80, 170, 50, 20);

jlAlter6.setText("学院:");

jlAlter6.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter6);

jtAlterCollage = new JTextField();

jtAlterCollage.setBounds(130, 170, 150, 20);

jtAlterCollage.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterCollage);

//修改班级

jlAlter7 = new JLabel();

jlAlter7.setBounds(320, 170, 50, 20);

jlAlter7.setText("班级:");

jlAlter7.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter7);

jtAlterClass = new JTextField();

jtAlterClass.setBounds(370, 170, 150, 20);

jtAlterClass.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterClass);

// 修改性别

jlAlter5 = new JLabel();

jlAlter5.setBounds(80, 210, 50, 20);

jlAlter5.setText("性别:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter5);

jr_man = new JRadioButton();

jr_man.setText("男");

jr_man.setFont(new Font("宋体", Font.PLAIN, 16));

jr_man.setSelected(true);

jr_man.setBounds(130, 210, 50, 20);

jr_woman = new JRadioButton();

jr_woman.setText("女");

jr_woman.setFont(new Font("宋体", Font.PLAIN, 16));

jr_woman.setBounds(180, 210, 50, 20);

sexgroup = new ButtonGroup();

sexgroup.add(jr_man);

sexgroup.add(jr_woman);

jpAlterByID.add(jr_man);

jpAlterByID.add(jr_woman);

// 修改成绩

jlAlter5 = new JLabel();

jlAlter5.setBounds(20, 240, 200, 20);

jlAlter5.setText("*修改单科成绩*");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter5);

// 修改数学

jlAlter5 = new JLabel();

jlAlter5.setBounds(80, 270, 50, 20);

jlAlter5.setText("数学:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter5);

jtAlterMath = new JTextField();

jtAlterMath.setBounds(130, 270, 150, 20);

jtAlterMath.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterMath);

//修改软件工程

jlAlter5 = new JLabel();

jlAlter5.setBounds(320, 270, 80, 20);

jlAlter5.setText("软件工程:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter5);

jtAlterSoftware = new JTextField();

jtAlterSoftware.setBounds(400, 270, 150, 20);

jtAlterSoftware.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterSoftware);

// 修改Java

jlAlter5 = new JLabel();

jlAlter5.setBounds(80, 300, 50, 20);

jlAlter5.setText("Java:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter5);

jtAlterJava = new JTextField();

jtAlterJava.setBounds(130, 300, 150, 20);

jtAlterJava.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterJava);

// 修改操作系统

jlAlter5 = new JLabel();

jlAlter5.setBounds(320, 300, 80, 20);

jlAlter5.setText("操作系统:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jlAlter5);

jtAlterSystem = new JTextField();

jtAlterSystem.setBounds(400, 300, 150, 20);

jtAlterSystem.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByID.add(jtAlterSystem);

jbAlterSure = new JButton();

jbAlterSure.setBounds(500, 325, 50, 20);

jbAlterSure.setIcon(new ImageIcon("pic//tijiao.gif"));

jbAlterSure.addActionListener(this);

jbAlterSure.setActionCommand("按学号修改提交");

jpAlterByID.add(jbAlterSure);

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

jpAlterByName.setLayout(null);

//按姓名修改

jlAlter1 = new JLabel();

jlAlter1.setText("按姓名修改");

jlAlter1.setBounds(230, 20, 170, 20);

jlAlter1.setFont(new Font("宋体", Font.PLAIN, 20));

jpAlterByName.add(jlAlter1);

jlAlter2 = new JLabel();

jlAlter2.setBounds(20, 70, 200, 20);

jlAlter2.setText("*请输入要修改学生的姓名:");

jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter2);

//要修改学生的姓名

jtAlterName2 = new JTextField();

jtAlterName2.setBounds(220, 70, 150, 20);

jtAlterName2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterName2);

//修改基本信息

jlAlter2 = new JLabel();

jlAlter2.setBounds(20, 100, 170, 20);

jlAlter2.setText("*修改基本信息*");

jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter2);

// 修改学号

jlAlter3 = new JLabel();

jlAlter3.setBounds(80, 140, 50, 20);

jlAlter3.setText("学号:");

jlAlter3.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter3);

jtAlterID2 = new JTextField();

jtAlterID2.setBounds(130, 140, 150, 20);

jtAlterID2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterID2);

// 修改年龄

jlAlter4 = new JLabel();

jlAlter4.setBounds(320, 140, 50, 20);

jlAlter4.setText("年龄:");

jlAlter4.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter4);

jtAlterAge2 = new JTextField();

jtAlterAge2.setBounds(370, 140, 150, 20);

jtAlterAge2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterAge2);

// 修改学院

jlAlter6 = new JLabel();

jlAlter6.setBounds(80, 170, 50, 20);

jlAlter6.setText("学院:");

jlAlter6.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter6);

jtAlterCollage2 = new JTextField();

jtAlterCollage2.setBounds(130, 170, 150, 20);

jtAlterCollage2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterCollage2);

//修改班级

jlAlter7 = new JLabel();

jlAlter7.setBounds(320, 170, 50, 20);

jlAlter7.setText("班级:");

jlAlter7.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter7);

jtAlterClass2 = new JTextField();

jtAlterClass2.setBounds(370, 170, 150, 20);

jtAlterClass2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterClass2);

// 修改性别

jlAlter5 = new JLabel();

jlAlter5.setBounds(80, 210, 50, 20);

jlAlter5.setText("性别:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter5);

jr_man2 = new JRadioButton();

jr_man2.setText("男");

jr_man2.setFont(new Font("宋体", Font.PLAIN, 16));

jr_man2.setSelected(true);

jr_man2.setBounds(130, 210, 50, 20);

jr_woman2 = new JRadioButton();

jr_woman2.setText("女");

jr_woman2.setFont(new Font("宋体", Font.PLAIN, 16));

jr_woman2.setBounds(180, 210, 50, 20);

sexgroup2 = new ButtonGroup();

sexgroup2.add(jr_man2);

sexgroup2.add(jr_woman2);

jpAlterByName.add(jr_man2);

jpAlterByName.add(jr_woman2);

// 修改成绩

jlAlter5 = new JLabel();

jlAlter5.setBounds(20, 240, 200, 20);

jlAlter5.setText("*修改单科成绩*");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter5);

// 修改数学

jlAlter5 = new JLabel();

jlAlter5.setBounds(80, 270, 50, 20);

jlAlter5.setText("数学:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter5);

jtAlterMath2 = new JTextField();

jtAlterMath2.setBounds(130, 270, 150, 20);

jtAlterMath2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterMath2);

//修改软件工程

jlAlter5 = new JLabel();

jlAlter5.setBounds(320, 270, 80, 20);

jlAlter5.setText("软件工程:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter5);

jtAlterSoftware2 = new JTextField();

jtAlterSoftware2.setBounds(400, 270, 150, 20);

jtAlterSoftware2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterSoftware2);

// 修改Java

jlAlter5 = new JLabel();

jlAlter5.setBounds(80, 300, 50, 20);

jlAlter5.setText("Java:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter5);

jtAlterJava2 = new JTextField();

jtAlterJava2.setBounds(130, 300, 150, 20);

jtAlterJava2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterJava2);

// 修改操作系统

jlAlter5 = new JLabel();

jlAlter5.setBounds(320, 300, 80, 20);

jlAlter5.setText("操作系统:");

jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jlAlter5);

jtAlterSystem2 = new JTextField();

jtAlterSystem2.setBounds(400, 300, 150, 20);

jtAlterSystem2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAlterByName.add(jtAlterSystem2);

jbAlterSure2 = new JButton();

jbAlterSure2.setBounds(500, 325, 50, 20);

jbAlterSure2.setIcon(new ImageIcon("pic//tijiao.gif"));

jbAlterSure2.addActionListener(this);

jbAlterSure2.setActionCommand("按姓名修改提交");

jpAlterByName.add(jbAlterSure2);

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//添加

jpAddStudent.setLayout(null);

jlAdd1 = new JLabel();

jlAdd1.setBounds(200, 20, 200, 20);

jlAdd1.setText("添加学生基本信息");

jlAdd1.setFont(new Font("宋体", Font.PLAIN, 20));

jpAddStudent.add(jlAdd1);

// 添加基本信息

jlAdd2 = new JLabel();

jlAdd2.setBounds(20, 60, 100, 20);

jlAdd2.setText("*基本信息:");

jlAdd2.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd2);

//添加学号

jlAdd3 = new JLabel();

jlAdd3.setBounds(80, 90, 50, 20);

jlAdd3.setText("学号:");

jlAdd3.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd3);

jtAddID = new JTextField();

jtAddID.setBounds(130, 90, 150, 20);

jtAddID.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddID);

// 添加姓名

jlAdd4 = new JLabel();

jlAdd4.setBounds(320, 90, 50, 20);

jlAdd4.setText("姓名:");

jlAdd4.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd4);

jtAddName = new JTextField();

jtAddName.setBounds(370, 90, 150, 20);

jtAddName.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddName);

// 添加年龄

jlAdd5 = new JLabel();

jlAdd5.setBounds(80, 130, 50, 20);

jlAdd5.setText("年龄:");

jlAdd5.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd5);

jtAddAge = new JTextField();

jtAddAge.setBounds(130, 130, 150, 20);

jtAddAge.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddAge);

// 添加学院

jlAdd12 = new JLabel();

jlAdd12.setBounds(320, 130, 50, 20);

jlAdd12.setText("学院:");

jlAdd12.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd12);

jtAddCollage = new JTextField();

jtAddCollage.setBounds(370, 130, 150, 20);

jtAddCollage.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddCollage);

// 添加性别

jlAdd6 = new JLabel();

jlAdd6.setBounds(80, 170, 50, 20);

jlAdd6.setText("性别:");

jlAdd6.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd6);

jr_man = new JRadioButton();

jr_man.setText("男");

jr_man.setFont(new Font("宋体", Font.PLAIN, 16));

jr_man.setSelected(true);

jr_man.setBounds(130, 170, 50, 20);

jr_woman = new JRadioButton();

jr_woman.setText("女");

jr_woman.setFont(new Font("宋体", Font.PLAIN, 16));

jr_woman.setBounds(180, 170, 50, 20);

sexgroup = new ButtonGroup();

sexgroup.add(jr_man);

sexgroup.add(jr_woman);

jpAddStudent.add(jr_man);

jpAddStudent.add(jr_woman);

//添加班级

jlAdd13 = new JLabel();

jlAdd13.setBounds(320, 170, 50, 20);

jlAdd13.setText("班级:");

jlAdd13.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd13);

jtAddClass = new JTextField();

jtAddClass.setBounds(370, 170, 150, 20);

jtAddClass.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddClass);

// 添加成绩

jlAdd7 = new JLabel();

jlAdd7.setBounds(20, 210, 100, 20);

jlAdd7.setText("*单科成绩:");

jlAdd7.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd7);

// 添加数学

jlAdd8 = new JLabel();

jlAdd8.setBounds(80, 240, 50, 20);

jlAdd8.setText("数学:");

jlAdd8.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd8);

jtAddMath = new JTextField();

jtAddMath.setBounds(130, 240, 150, 20);

jtAddMath.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddMath);

// 添加软件工程

jlAdd9 = new JLabel();

jlAdd9.setBounds(320, 240, 80, 20);

jlAdd9.setText("软件工程:");

jlAdd9.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd9);

jtAddSoftware = new JTextField();

jtAddSoftware.setBounds(400, 240, 150, 20);

jtAddSoftware.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddSoftware);

// 添加Java

jlAdd10 = new JLabel();

jlAdd10.setBounds(80, 280, 50, 20);

jlAdd10.setText("Java:");

jlAdd10.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd10);

jtAddJava = new JTextField();

jtAddJava.setBounds(130, 280, 150, 20);

jtAddJava.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddJava);

// 添加操作系统

jlAdd11 = new JLabel();

jlAdd11.setBounds(320, 280, 80, 20);

jlAdd11.setText("操作系统:");

jlAdd11.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jlAdd11);

jtAddSystem = new JTextField();

jtAddSystem.setBounds(400, 280, 150, 20);

jtAddSystem.setFont(new Font("宋体", Font.PLAIN, 16));

jpAddStudent.add(jtAddSystem);

jbAddSure = new JButton();

jbAddSure.setBounds(500, 320, 50, 20);

jbAddSure.setIcon(new ImageIcon("pic//tijiao.gif"));

jbAddSure.addActionListener(this);

jbAddSure.setActionCommand("添加提交");

jpAddStudent.add(jbAddSure);

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//查看

jl = new JLabel();

jl.setBounds(110, 0, 300, 20);

jl.setText("信息表");

jl.setForeground(Color.gray);

jl.setFont(new Font("宋体", Font.PLAIN, 16));

jpSee.add(jl);

MyTableModel Mytable = new MyTableModel();

jtable = new JTable(Mytable);

jtable.setShowGrid(true);

//设置列宽

col1 = jtable.getColumnModel().getColumn(0);

col1.setPreferredWidth(145);

col2 = jtable.getColumnModel().getColumn(1);

col2.setPreferredWidth(80);

col3 = jtable.getColumnModel().getColumn(2);

col3.setPreferredWidth(50);

col4 = jtable.getColumnModel().getColumn(3);

col4.setPreferredWidth(50);

col5 = jtable.getColumnModel().getColumn(4);

col5.setPreferredWidth(100);

col6 = jtable.getColumnModel().getColumn(5);

col6.setPreferredWidth(130);

col7 = jtable.getColumnModel().getColumn(6);

col7.setPreferredWidth(80);

col8 = jtable.getColumnModel().getColumn(7);

col8.setPreferredWidth(80);

col9 = jtable.getColumnModel().getColumn(8);

col9.setPreferredWidth(80);

col10 = jtable.getColumnModel().getColumn(9);

col10.setPreferredWidth(80);

jtable.setPreferredScrollableViewportSize(new Dimension(610, 300));

js = new JScrollPane(jtable);

js.setBounds(30, 20, 590, 350);

jpSee.add(js);

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

setLocation(400, 150);

setResizable(false);

setSize(650, 400);

setVisible(true);

setTitle("学生成绩管理系统");

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//判断学生是否存在

public Boolean isEixt(String ID, String fileName)

{

String str = null;

String[][] student = new String[100][];

FileReader fr;

BufferedReader br;

try

{

fr = new FileReader(fileName);

br = new BufferedReader(fr);

try

{

for (int i = 0; (str = br.readLine()) != null; i++)

{

student[i] = str.split(" ");

if (student[i][0].equals(ID))

{

return true;

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

}

catch (FileNotFoundException e)

{

e.printStackTrace();

}

return false;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//添加基本信息

public void add(String information, String FileName)

{

File file = new File(FileName);

try

{

BufferedWriter bw;

FileWriter fw;

// 如果文件(班级)不存在则创建

if (!file.exists())

{

// 创建文件(班级)

file.createNewFile();

}

try

{

fw = new FileWriter(FileName, true);

bw = new BufferedWriter(fw);

bw.write(information);

bw.newLine();

bw.close();

}

catch (IOException ex)

{

ex.printStackTrace();

}

}

catch (IOException e1)

{

e1.printStackTrace();

}

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//查看

public void SeeAll(String FileName)

{

String str = null;

for(int i =0;i<100;i++)

{

for(int j=0;j<12;j++)

{

student[i][j] = " ";

}

}

try

{

FileReader fr = new FileReader(FileName);

BufferedReader br = new BufferedReader(fr);

for(int i =0;(str = br.readLine())!=null;i++)

{

student[i] = str.split(" ");

}

}

catch (IOException e)

{

e.printStackTrace();

}

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//查询

public int Search(String FileName,int num,String information)

{

String str = null;

String temp [][] = new String[100][12];

int count = 0;

int flag = 0;

for(int i =0;i<100;i++)

{

for(int j=0;j<12;j++)

{

student[i][j] = "";

}

}

try

{

FileReader fr = new FileReader(FileName);

BufferedReader br = new BufferedReader(fr);

for(int i =0;(str = br.readLine())!=null;i++)

{

temp[i] = str.split(" ");

if(temp[i][num].equals(information))

{

student[count] = temp[i];

count ++;

flag = 1;

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

return flag;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//删除

public int delete(String FileName,int num,String information)

{

FileReader fr;

BufferedReader br;

BufferedWriter bw;

FileWriter fw;

String str = null;

int count = 0;

int k = 0;

int flag = 0;//判断该学生是否存在 0 没有 1 有

String temp [][] = new String[100][12];

for(int i =0;i<100;i++)

{

for(int j=0;j<12;j++)

{

student[i][j] = "";

}

}

try

{

fr = new FileReader(FileName);

br = new BufferedReader(fr);

for(int i =0;(str = br.readLine())!=null;i++)

{

temp[i] = str.split(" ");

if(temp[i][num].equals(information))

{

flag = 1;

continue;

}

student[count++]=temp[i];

if(k == 0)

{

fw = new FileWriter(FileName);

k++;

}

else

{

fw = new FileWriter(FileName,true);

}

bw = new BufferedWriter(fw);

bw.write(str);

bw.newLine();

bw.close();

}

br.close();

}

catch (FileNotFoundException e)

{

e.printStackTrace();

}

catch (IOException e)

{

e.printStackTrace();

}

return flag;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//修改

public int alter(int num,String information[])

{

FileReader fr;

BufferedReader br;

BufferedWriter bw;

FileWriter fw;

String str = null;

String tempStr = null;

int k =0;

int flag = 0;//判断该学生是否存在 0 没有 1 有

double total = 0;

String temp [][] = new String[100][12];

for(int i =0;i<100;i++)

{

for(int j=0;j<12;j++)

{

student[i][j] = " ";

}

}

try

{

fr = new FileReader(FileName);

br = new BufferedReader(fr);

for(int i =0;(str = br.readLine())!=null;i++)

{

temp[i] = str.split(" ");

if(temp[i][num].equals(information[num]))

{System.out.print("gggggggggf");

tempStr = null;

flag = 1;

for(int j =0;j<= 9;j++)

{

if(information[j].equals(""))

{

if(j>=6)//修改单科成绩也要修改总成绩 和平均分

{

total += Double.parseDouble(temp[i][j]);

}

if(j == 0)

tempStr = temp[i][j];

else

tempStr=tempStr+" "+temp[i][j];

continue;

}

if(j>=6)

{

total += Double.parseDouble(information[j]);

}

temp[i][j] = information[j];

if(j == 0)

tempStr=temp[i][j];

else

tempStr=tempStr+" "+temp[i][j];

}

str = tempStr+" "+String.valueOf(total)+" "+String.valueOf((int)(total/4));

temp[i][10] = String.valueOf(total);temp[i][11] = String.valueOf((int)(total/4));

}

student[i]=temp[i];

if(k == 0)

{

fw = new FileWriter(FileName);

k++;

}

else

{

fw = new FileWriter(FileName,true);

}

bw = new BufferedWriter(fw);

bw.write(str);

bw.newLine();

bw.close();

}

br.close();

}

catch (FileNotFoundException e)

{

e.printStackTrace();

}

catch (IOException e)

{

e.printStackTrace();

}

return flag;

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//排序

public void Sort(int num)

{

String str = null;

double d1,d2;

int count = 0;

for(int i =0;i<100;i++)

{

for(int j=0;j<12;j++)

{

student[i][j] = null;

}

}

try

{

FileReader fr = new FileReader(FileName);

BufferedReader br = new BufferedReader(fr);

for(int i =0;(str = br.readLine())!=null;i++)

{

student[i] = str.split(" ");

count++;

}

for (int j = 0;j < count;j++)

{

for (int i = 0;i < count-1;i++)

{

String[] temp;

d1 = Double.parseDouble(student[i][num]);

d2 = Double.parseDouble(student[i+1][num]);

if(num == 3 ||num == 6||num == 7||num == 8|| num == 9||num == 10)

{

if (d1

{

temp = student[i];

student[i] = student[i + 1];

student[i + 1] = temp;

}

}

else

{

if (d1>d2)

{

temp = student[i];

student[i] = student[i + 1];

student[i + 1] = temp;

}

}

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//查询平均成绩

public double SearchAvg(int num)

{

String str = null;

String temp [][] = new String[100][10];

double total = 0;

int count = 0;

for(int i =0;i<100;i++)

{

for(int j=0;j<12;j++)

{

student[i][j] = "";

}

}

try

{

FileReader fr = new FileReader(FileName);

BufferedReader br = new BufferedReader(fr);

for(int i =0;(str = br.readLine())!=null;i++)

{

count ++;

temp[i] = str.split(" ");

total +=Double.parseDouble(temp[i][num]);

}

}

catch (IOException e)

{

e.printStackTrace();

}

return total/count;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public boolean Check(String str)

{

int len = str.length();

for(int i =0;i

{

if(str.charAt(i)'9')

{

return false;

}

}

return true;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//百分比

public int[] percent(int num)

{

String temp [][] = new String[100][10];

String str = null;

int information[] = new int [7];

for(int i=0;i<6;i++)

{

information[i] = 0;

}

try

{

FileReader fr = new FileReader(FileName);

BufferedReader br = new BufferedReader(fr);

for(int i =0;(str = br.readLine())!=null;i++)

{

temp[i] = str.split(" ");

information[5]++;

if(Double.parseDouble(temp[i][num])>=90)

{

information[0]++;

}

else if(Double.parseDouble(temp[i][num])>=80)

{

information[1]++;

}

else if(Double.parseDouble(temp[i][num])>=70)

{

information[2]++;

}

else if(Double.parseDouble(temp[i][num])>=60)

{

information[3]++;

}

else if(Double.parseDouble(temp[i][num])<60)

{

information[4]++;

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

return information;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public void mouseReleased(MouseEvent e)

{}

public void mousePressed(MouseEvent e)

{}

public void mouseEntered(MouseEvent e)

{}

public void mouseExited(MouseEvent e)

{}

public void mouseClicked(MouseEvent e)

{

Point p = e.getPoint();

row = jtable.rowAtPoint(p);

if (e.getClickCount() == 2)

{}

}

public void actionPerformed(ActionEvent e)

{

if (e.getActionCommand().equals("首页"))

{

cardl.show(card, "首页");

}

else if (e.getActionCommand().equals("退出"))

{

dispose();

}

else if (e.getActionCommand().equals("帮助"))

{

cardl.show(card, "帮助");

}

else if (e.getActionCommand().equals("查看"))

{

jtable.updateUI();

SeeAll(FileName);

cardl.show(card, "查看");

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//按学号删除

else if (e.getActionCommand().equals("按学号删除"))

{

String ID=JOptionPane.showInputDialog(null,"请输入学号");

if(ID!=null)

{

if(!ID.equals(""))

{

jtable.updateUI();

if(delete(FileName,0,ID) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该学生", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入学号!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按姓名删除

else if (e.getActionCommand().equals("按姓名删除"))

{

String Name=JOptionPane.showInputDialog(null,"请输入姓名");

if(Name!=null)

{

if(!Name.equals(""))

{

jtable.updateUI();

if(delete(FileName,1,Name) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,该学生不在成绩管理系统中!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入姓名!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按性别删除

else if (e.getActionCommand().equals("按性别删除"))

{

Object[] Sex = {"男","女"};

String s = (String) JOptionPane.showInputDialog(this,"请选择性别\n","按性别删除", JOptionPane.QUESTION_MESSAGE, null,Sex, "男");

if(!s.equals(""))

{

jtable.updateUI();

if(delete(FileName,2,s) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,在成绩管理系统中没有查找到!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

}

//按年龄删除

else if (e.getActionCommand().equals("按年龄删除"))

{

String Age=JOptionPane.showInputDialog(null,"请输入年龄");

if(Age!=null)

{

if(!Age.equals(""))

{

jtable.updateUI();

if(delete(FileName,3,Age) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该年龄的学生", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入年龄!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按学院删除

else if (e.getActionCommand().equals("按学院删除"))

{

String Collage=JOptionPane.showInputDialog(null,"请输入学院");

if(Collage!=null)

{

if(!Collage.equals(""))

{

jtable.updateUI();

if(delete(FileName,4,Collage) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该学院的学生", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入学院!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按班级删除

else if (e.getActionCommand().equals("按班级删除"))

{

String Class=JOptionPane.showInputDialog(null,"请输入班级");

if(Class!=null)

{

if(!Class.equals(""))

{

jtable.updateUI();

if(delete(FileName,5,Class) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该班级的学生", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入班级!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

else if (e.getActionCommand().equals("添加学生"))

{

cardl.show(card, "添加学生");

}

else if (e.getActionCommand().equals("添加班级"))

{

cardl.show(card, "添加学生");

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

else if (e.getActionCommand().equals("按学号修改"))

{

cardl.show(card, "按学号修改");

}

else if (e.getActionCommand().equals("按姓名修改"))

{

cardl.show(card, "按姓名修改");

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//按学号查询

else if (e.getActionCommand().equals("按学号查询"))

{

String ID=JOptionPane.showInputDialog(null,"请输入学号");

if(ID!=null)

{

if(!ID.equals(""))

{

jtable.updateUI();

if(Search(FileName,0,ID) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,该学生不在成绩管理系统中!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入学号!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按姓名查询

else if (e.getActionCommand().equals("按姓名查询"))

{

String Name=JOptionPane.showInputDialog(null,"请输入姓名");

if(Name!=null)

{

if(!Name.equals(""))

{

jtable.updateUI();

if(Search(FileName,1,Name) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,该学生不在成绩管理系统中!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入姓名!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按性别查询

else if (e.getActionCommand().equals("按性别查询"))

{

Object[] Sex = {"男","女"};

String s = (String) JOptionPane.showInputDialog(this,"请选择性别\n","按性别查询", JOptionPane.QUESTION_MESSAGE, null,Sex, "男");

if(s!=null)

{

jtable.updateUI();

if(Search(FileName,2,s) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,在成绩管理系统中没有查找到该性别的学生!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

}

//按年龄查询

else if (e.getActionCommand().equals("按年龄查询"))

{

String Age=JOptionPane.showInputDialog(null,"请输入年龄");

if(Age!=null)

{

if(!Age.equals(""))

{

jtable.updateUI();

if(Search(FileName,3,Age) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该年龄的学生!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入年龄!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按学院查询

else if (e.getActionCommand().equals("按学院查询"))

{

String Collage=JOptionPane.showInputDialog(null,"请输入学院");

if(Collage!=null)

{

if(!Collage.equals(""))

{

jtable.updateUI();

if(Search(FileName,4,Collage) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该学院的学生!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入学院!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//按班级查询

else if (e.getActionCommand().equals("按班级查询"))

{

String Class =JOptionPane.showInputDialog(null,"请输入班级");

if(Class!=null)

{

if(!Class.equals(""))

{

jtable.updateUI();

if(Search(FileName,5,Class) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该班级的学生!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

cardl.show(card, "查看");

}

else

{

JOptionPane.showMessageDialog(null, "对不起,请确保输入班级!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

else if (e.getActionCommand().equals("按学号排序"))

{

jtable.updateUI();

Sort(0);

cardl.show(card, "查看");

}

else if (e.getActionCommand().equals("按年龄排序"))

{

jtable.updateUI();

Sort(3);

cardl.show(card, "查看");

}

else if (e.getActionCommand().equals("按总成绩排序"))

{

jtable.updateUI();

Sort(10);

cardl.show(card, "查看");

}

else if (e.getActionCommand().equals("按Java排序"))

{

jtable.updateUI();

Sort(8);

cardl.show(card, "查看");

}

else if (e.getActionCommand().equals("按数学排序"))

{

jtable.updateUI();

Sort(6);

cardl.show(card, "查看");

}

else if (e.getActionCommand().equals("按软件工程排序"))

{

jtable.updateUI();

Sort(7);

cardl.show(card, "查看");

}

else if (e.getActionCommand().equals("按操作系统排序"))

{

jtable.updateUI();

Sort(9);

cardl.show(card, "查看");

}

else if (e.getActionCommand().equals("按总成绩排序"))

{

String Age=JOptionPane.showInputDialog(null,"请输入年龄");

jtable.updateUI();

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

else if (e.getActionCommand().equals("求数学平均分"))

{

cardl.show(card, "首页");

JOptionPane.showMessageDialog(null, "数学平均分:"+String.valueOf(SearchAvg(6)), "提示", JOptionPane.INFORMATION_MESSAGE);

}

else if (e.getActionCommand().equals("求Java平均分"))

{

cardl.show(card, "首页");

JOptionPane.showMessageDialog(null, "Java平均分:"+String.valueOf(SearchAvg(8)), "提示", JOptionPane.INFORMATION_MESSAGE);

}

else if (e.getActionCommand().equals("求软件工程平均分"))

{

cardl.show(card, "首页");

JOptionPane.showMessageDialog(null, "软件工程平均分:"+String.valueOf(SearchAvg(7)), "提示", JOptionPane.INFORMATION_MESSAGE);

}

else if (e.getActionCommand().equals("求操作系统平均分"))

{

cardl.show(card, "首页");

JOptionPane.showMessageDialog(null, "操作系统平均分:"+String.valueOf(SearchAvg(9)), "提示", JOptionPane.INFORMATION_MESSAGE);

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

else if (e.getActionCommand().equals("Math饼形图"))

{

int information[] = new int [7];

double n =0;

information = percent(6);

n = (double)information[5]/100;

Jfree jf = new Jfree("Math",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("Java饼形图"))

{

int information[] = new int [7];

double n =0;

information = percent(8);

n = (double)information[5]/100;

Jfree jf = new Jfree("Java",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("System饼形图"))

{

int information[] = new int [7];

double n =0;

information = percent(9);

n = (double)information[5]/100;

Jfree jf = new Jfree("System",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("Software饼形图"))

{

int information[] = new int [7];

double n =0;

information = percent(7);

n = (double)information[5]/100;

Jfree jf = new Jfree("Software",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("Math柱形图"))

{

int information[] = new int [7];

double n =0;

information = percent(6);

n = (double)information[5]/100;

Jfree2 jf = new Jfree2("Math",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("Java柱形图"))

{

int information[] = new int [7];

double n =0;

information = percent(8);

n = (double)information[5]/100;

Jfree2 jf = new Jfree2("Java",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("System柱形图"))

{

int information[] = new int [7];

double n =0;

information = percent(9);

n = (double)information[5]/100;

Jfree2 jf = new Jfree2("System",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("Software柱形图"))

{

int information[] = new int [7];

double n =0;

information = percent(7);

n = (double)information[5]/100;

Jfree2 jf = new Jfree2("Software",information[0]/n,information[1]/n,information[2]/n,information[3]/n,information[4]/n);

}

else if (e.getActionCommand().equals("help"))

{

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

else if (e.getActionCommand().equals("按学号修改提交"))

{

String[] information = new String[10];

String sex = null;

if(jtAlterID.getText().equals(""))

{

JOptionPane.showMessageDialog(null, "对不起,请填写要修改学生的学号!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else if(!Check(jtAlterSystem.getText())||!Check(jtAlterID.getText())||!Check(jtAlterSoftware.getText())||!Check(jtAlterJava.getText())||!Check(jtAlterMath.getText())||!Check(jtAlterAge.getText()))

{

JOptionPane.showMessageDialog(null, "对不起,请确保信息格式正确!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else

{

information[0] = jtAlterID.getText();

information[1] = jtAlterName.getText();

if (jr_man.isSelected())

{sex = "男";}

else

{sex = "女";}

information[2] = sex;

information[3] = jtAlterAge.getText();

information[4] = jtAlterCollage.getText();

information[5] = jtAlterClass.getText();

information[6] = jtAlterMath.getText();

information[7] = jtAlterSoftware.getText();

information[8] = jtAlterJava.getText();

information[9] = jtAlterSystem.getText();

if(alter(0,information) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该学生!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else

{

jtAlterID.setText("");jtAlterAge.setText("");jtAlterCollage.setText("");jtAlterClass.setText("");jtAlterMath.setText("");jtAlterSoftware.setText("");

jtAlterJava.setText("");jtAlterSystem.setText("");jtAlterName.setText("");

JOptionPane.showMessageDialog(null, "修改信息成功", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

else if (e.getActionCommand().equals("按姓名修改提交"))

{

String[] information = new String[10];

String sex = null;

if(jtAlterName2.getText().equals(""))

{

JOptionPane.showMessageDialog(null, "对不起,请填写要修改学生的姓名!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else if(!Check(jtAlterSystem2.getText())||!Check(jtAlterID2.getText())||!Check(jtAlterSoftware2.getText())||!Check(jtAlterJava2.getText())||!Check(jtAlterMath2.getText())||!Check(jtAlterAge2.getText()))

{

JOptionPane.showMessageDialog(null, "对不起,请确保信息格式正确!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else

{

information[0] = jtAlterID2.getText();

information[1] = jtAlterName2.getText();

if (jr_man2.isSelected())

{sex = "男";}

else

{sex = "女";}

information[2] = sex;

information[3] = jtAlterAge2.getText();

information[4] = jtAlterCollage2.getText();

information[5] = jtAlterClass2.getText();

information[6] = jtAlterMath2.getText();

information[7] = jtAlterSoftware2.getText();

information[8] = jtAlterJava2.getText();

information[9] = jtAlterSystem2.getText();

if(alter(1,information) == 0)

{

JOptionPane.showMessageDialog(null, "对不起,成绩管理系统中没有该学生!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else

{

jtAlterID2.setText("");jtAlterAge2.setText("");jtAlterCollage2.setText("");jtAlterClass2.setText("");jtAlterMath2.setText("");jtAlterSoftware2.setText("");

jtAlterJava2.setText("");jtAlterSystem2.setText("");jtAlterName2.setText("");

JOptionPane.showMessageDialog(null, "修改信息成功", "提示", JOptionPane.INFORMATION_MESSAGE);

}

}

}

else if (e.getActionCommand().equals("添加提交"))

{

String information = null;

String sex = null;

double math,system,java,software;

// 请确保信息填完成

if (jtAddCollage.getText().equals("") || jtAddSystem.getText().equals("") || jtAddID.getText().equals("") || jtAddName.getText().equals("") || jtAddAge.getText().equals("") || jtAddClass.getText().equals("")

|| jtAddMath.getText().equals("") || jtAddJava.getText().equals("") || jtAddSoftware.getText().equals(""))

{

JOptionPane.showMessageDialog(null, "对不起,请确保信息填完成!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else if(!Check(jtAddSystem.getText())||!Check(jtAddID.getText())||!Check(jtAddSoftware.getText())||!Check(jtAddJava.getText())||!Check(jtAddMath.getText())||!Check(jtAddAge.getText()))

{

JOptionPane.showMessageDialog(null, "对不起,请确保信息格式正确!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else

{

math = Double.parseDouble(jtAddMath.getText());

system = Double.parseDouble(jtAddSystem.getText());

java = Double.parseDouble(jtAddJava.getText());

software = Double.parseDouble(jtAddSoftware.getText());

if (jr_man.isSelected())

{

sex = "男";

}

else

{

sex = "女";

}

information = jtAddID.getText() + " " + jtAddName.getText() + " " + sex + " " + jtAddAge.getText()+" " +jtAddCollage.getText() +" " + jtAddClass.getText() + " " + jtAddMath.getText() + " "

+ jtAddSoftware.getText() + " " + jtAddJava.getText() + " " + jtAddSystem.getText()+" "+String.valueOf(math+system+java+software)+" "+String.valueOf((math+system+java+software)/4);

if (isEixt(jtAddID.getText(), FileName))

{

JOptionPane.showMessageDialog(null, "对不起,该信息已经填写!", "提示", JOptionPane.INFORMATION_MESSAGE);

}

else

{

add(information, FileName);

jtAddID.setText("");

jtAddName.setText("");

jtAddCollage.setText("");

jtAddClass.setText("");

jtAddAge.setText("");

jtAddMath.setText("");

jtAddSystem.setText("");

jtAddSoftware.setText("");

jtAddJava.setText("");

JOptionPane.showMessageDialog(null,"成功","提示",JOptionPane.INFORMATION_MESSAGE);

}

}

}

}

class MyTableModel extends AbstractTableModel

{

private String[] columnNames = {"学号","姓名","性别","年龄","学院","班级","数学","软件工程","Java","操作系统","总成绩","平均分"};

private String[][] data = student;

public int getColumnCount()

{

return columnNames.length;

}

public int getRowCount()

{

if(data == null)

{

return 0;

}

else

{

return data.length;

}

}

// public void addRow(String ID,String Name,String Age,String Class,String sex,String Math,String Software,String Java,String System)

// {

// int n;

// if(data == null)

// {

// n = 0;

// }

// else

// {

// n = data.length;

// }

// data[n] = new String[9];

// data[n][0] = ID;

//

// }

public String getColumnName(int col)

{

return columnNames[col];

}

public String getValueAt(int row, int col)

{

return data[row][col];

}

public Class getColumnClass(int c)

{

return getValueAt(0, c).getClass();

}

public boolean isCellEditable(int row, int col)

{

return false;

}

}

public static void main(String[] args)

{

main m = new main();

m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

柱形图:

package System;

import java.awt.Font;

import javax.swing.JPanel;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartFrame;

import org.jfree.chart.ChartPanel;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.axis.Axis;

import org.jfree.chart.axis.CategoryAxis;

import org.jfree.chart.axis.ValueAxis;

import org.jfree.chart.plot.CategoryPlot;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.chart.title.TextTitle;

import org.jfree.data.category.CategoryDataset;

import org.jfree.data.category.DefaultCategoryDataset;

import org.jfree.ui.ApplicationFrame;

import org.jfree.ui.RefineryUtilities;

public class Jfree2

{

private static double excellent;

private static double well;

private static double middling;

private static double pass;

private static double fail;

private static String subject;

public Jfree2(String subject,double a,double b,double c,double d,double e)

{

this.subject = subject;

this.excellent = a;

this.well = b;

this.middling = c;

this.pass = d;

this.fail = e;

createJFreeChart();

}

private static CategoryDataset createDataSet()

{

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

dataset.setValue(excellent, "优秀", "优秀");

dataset.setValue(well, "良好", "良好");

dataset.setValue(middling, "中等", "中等");

dataset.setValue(pass, "及格", "及格");

dataset.setValue(fail, "不及格", "不及格");

return dataset;

}

private static void createJFreeChart()

{

JFreeChart jfreeChart = ChartFactory.createBarChart3D(subject,"成绩等级", "百分比", createDataSet(), PlotOrientation.VERTICAL, true, false,false);

jfreeChart.setTitle(new TextTitle(subject, new Font("宋体", Font.BOLD + Font.ITALIC, 20)));

CategoryPlot plot = (CategoryPlot) jfreeChart.getPlot();

// 设置透明度

plot.setForegroundAlpha(0.5f);

// 设置标题字体

jfreeChart.getTitle().setFont(new Font("宋体", Font.BOLD, 20));

// 设置图例类别字体

jfreeChart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 14));

//获取x轴对象

CategoryAxis domainAxis = plot.getDomainAxis();

//获取Y轴对象

ValueAxis numberaxis = plot.getRangeAxis();

//设置x轴坐标上的文字

domainAxis.setTickLabelFont(new Font("宋体", Font.PLAIN, 14));

//设置x轴的标题文字

domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 16));

//设置Y轴坐标上的文字

numberaxis.setTickLabelFont(new Font("宋体", Font.PLAIN, 12));

//设置y轴的标题文字

numberaxis.setLabelFont(new Font("宋体", Font.PLAIN, 16));

ChartFrame frame = new ChartFrame("成绩等级信息表", jfreeChart);

frame.pack();

RefineryUtilities.centerFrameOnScreen(frame);

frame.setVisible(true);

}

}

0_1324208048AUP6.gif

0_1324208095f553.gif

饼形图:

package System;

import java.awt.Font;

import java.awt.RenderingHints;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartFrame;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.plot.PiePlot;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.ui.RefineryUtilities;

public class Jfree

{

private static double excellent;

private static double well;

private static double middling;

private static double pass;

private static double fail;

private static String subject =null;

private JFreeChart jfreeChart;

public Jfree(String subject,double a,double b,double c,double d,double e)

{

this.subject = subject;

this.excellent = a;

this.well = b;

this.middling = c;

this.pass = d;

this.fail = e;

createPieChart();

}

public static DefaultPieDataset createDataset() {

DefaultPieDataset Dataset = new DefaultPieDataset();

if(excellent!=0)

{

Dataset.setValue("优秀", excellent);

}

if(well !=0)

{

Dataset.setValue("良好", well);

}

if(middling!=0)

{

Dataset.setValue("中等 ", middling);

}

if(pass!=0)

{

Dataset.setValue("及格 ", pass);

}

if(fail!=0)

{

Dataset.setValue("不及格 ", fail);

}

return Dataset;

}

public static void createPieChart()

{

// 通过工程创建3D饼图

JFreeChart jfreeChart = ChartFactory.createPieChart(subject,createDataset(), true, true, false);

jfreeChart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);

// 得到3D饼图的plot对象

PiePlot piePlot = (PiePlot) jfreeChart.getPlot();

// 设置透明度

piePlot.setForegroundAlpha(0.5f);

piePlot.setLabelFont((new Font("宋体", Font.PLAIN, 12)));

// 设置标题字体

jfreeChart.getTitle().setFont(new Font("隶书", Font.BOLD, 20));

// 设置图例类别字体

jfreeChart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 14));

ChartFrame frame = new ChartFrame("成绩等级信息表", jfreeChart);

frame.pack();

RefineryUtilities.centerFrameOnScreen(frame);

frame.setVisible(true);

}

}

源代码下载:点击打开链接

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-12-18 19:33

浏览 868

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值