histogram.java

来自「管理系统实现的源代码,」· Java 代码 · 共 58 行

JAVA
58
字号
package test02;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涓嶄负闆讹紝浣縝arHeight涓嶄负闆?                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 + =
减小字号Ctrl + -
显示快捷键?