欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

histogram.java

管理系统实现的源代码,
JAVA
字号:
package 学生成绩管理系统;import java.awt.*;import javax.swing.*;public class Histogram extends javax.swing.JInternalFrame {    public Histogram(int[] data) {        int[] data1=data;        BarChart chart1 = new BarChart();//        int[] data1 = {20, 10, 30, 40,70};        String[] dataName1 = {"<60分:"+data1[0]+"人", "60-69分:"+data1[1]+"人",         "70-79分:"+data1[2]+"人", "80-89分:"+data1[3]+"人",">=90分:"+data1[4]+"人"};        chart1.setData( data1,dataName1);        getContentPane().add(chart1);  }        class BarChart extends JPanel{        private int[] data;        private String[] dataName;        //private String[] dataName;        private double sum=0;        public void setData(int[] data,String[] dataName){            this.data=data;            this.dataName=dataName;            for(int i=0;i<data.length;i++){                sum+=data[i];            }            //repaint();        }                //Paint the histogram        @Override        protected void paintComponent(Graphics g){            if(data==null) return;                        super.paintComponent(g);                        int width=getWidth();            int height=getHeight();            int interval=(int)((width-40)/(2*data.length+1));            int x=40+interval;            //Draw  base line            g.drawLine(10, height-45, width, height-45);            g.drawLine(10, height-45, 10, 50);            g.drawString("总人数:"+(int)sum+"人", 5, 45);            for(int i=0;i<data.length;i++){                double a=((data[i]/sum)*(height-95));//a不为零,使barHeight不为零                int barHeight=(int)a;                g.drawRect(x, height-45-barHeight, interval, barHeight);                //Display a letter on the top of the rec                g.drawString(dataName[i], x-15, height-45-barHeight-10);                x+=2*interval;            }        }            }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -