《java实验报告(实验六).doc》由会员分享,可在线阅读,更多相关《java实验报告(实验六).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北 京 林 业 大 学2013 学年 2014 学年第 2学期 Java程序设计基础实验报告书专 业: 电子 班 级: 11-2 姓 名: 王云飞 学 号: 实验地点: 计算机中心 任课教师: 黄儒乐 实验题目:图形用户界面编程 实验环境: Windows2000/XP;局域网 实验要求:1. 对所有实验内容中涉及到的命令均要亲自实践,对照实验指导书进行。2. 把实验中出现的问题以及最后解决的情况反馈到实验报告中。3. 程序作业的源代码要求反馈到实验报告中。实验内容:设计一个考试分数分布统计程序,要求该程序:1) 提供输入界面,可输入考生姓名和分数;2) 单击输入按钮,在登记考生姓名和分数的同
2、时,立即绘制当前人数的分数分布统计饼图(分为优秀、良好、中等、不及格)3) 参考界面如下:l 初始执行时,各个分数比例均匀分布。l 然后逐个输入姓名和分数,点击输入后,左面显示姓名和分数,右面饼图同步更新。实验目的:掌握图形用户界面中常用类的使用。实现方法、实验结果及结论分析等:实验源代码:import java.awt.event.*;import java.awt.*;import javax.swing.*;public class Score extends JFrame JPanel inputPanel=new JPanel(); ShanXingTu figure =new Sh
3、anXingTu(); JLabel labelName=new JLabel(姓名:); JLabel labelScore=new JLabel(分数:); JLabel labelRed = new JLabel(不及格(60以下); JLabel labelYellow = new JLabel(优秀(100-90); JLabel labelGreen = new JLabel(良好(89-75); JLabel labelBlue = new JLabel(中等(74-60); JTextField inputName=new JTextField(10); JTextField
4、inputScore=new JTextField(10); JTextArea textArea=new JTextArea(20,16); JButton inputButton=new JButton(输入); JScrollPane scrollPane = new JScrollPane(textArea); int excellent = 0,good = 0,pass = 0,fail = 0; public Score() setSize(400,300); setTitle(分数统计); setDefaultCloseOperation(JFrame.EXIT_ON_CLOS
5、E); setLocationRelativeTo(null); setVisible(true); inputPanel.add(labelName); inputPanel.add(inputName); inputPanel.add(labelScore); inputPanel.add(inputScore); inputPanel.add(inputButton); inputButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) inputData(in
6、putName.getText(),Double.parseDouble(inputScore.getText(); ); labelYellow.setForeground(Color.YELLOW); labelGreen.setForeground(Color.GREEN); labelBlue.setForeground(Color.BLUE); labelRed.setForeground(Color.RED); figure.add(labelYellow); figure.add(labelGreen); figure.add(labelBlue); figure.add(lab
7、elRed); figure.setBackground(Color.GRAY); add(inputPanel,North); add(scrollPane,West); add(figure,Center); textArea.append(姓名t分数n); void inputData(String name,double score) textArea.append(name+:t +score+n); if(score=90) excellent+; else if(score=75) good+; else if(score=60) pass+; else fail+; int s
8、um = excellent + good + pass + fail; figure.a=360 * excellent / sum; figure.b=360 * good / sum; figure.c=360 * pass / sum; figure.d=360 * fail / sum; figure.repaint(); public static void main(String args) JFrame score = new Score(); class ShanXingTu extends JPanel public void paintComponent(Graphics
9、 g) super.paintComponent(g); g.setColor(Color.YELLOW); g.fillArc (x,y,len,len,0,a); g.setColor(Color.GREEN); g.fillArc(x,y,len,len,a,b); g.setColor(Color.BLUE); g.fillArc(x,y,len,len,a + b,c); g.setColor(Color.RED); g.fillArc(x,y,len,len,a + b + c,d); int a=90,b=90,c=90,d=90;int x=20;int y=50;int len=160;实验结果: