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

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<d2) { 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<len;i++) { if(str.charAt(i)<'0'||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); } }


饼形图:

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); } }




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




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值