LineChartApplet.java
上传用户:mingda
上传日期:2017-06-20
资源大小:27691k
文件大小:11k
源码类别:

OA系统

开发平台:

Java

  1. // Decompiled by DJ v2.9.9.60 Copyright 2000 Atanas Neshkov  Date: 2002-12-03 18:43:23
  2. // Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
  3. // Decompiler options: packimports(3) 
  4. // Source File Name:   LineChartApplet.java
  5. package cn.com.fcsoft.chart;
  6. import java.awt.Component;
  7. import java.io.PrintStream;
  8. import java.util.StringTokenizer;
  9. import java.util.Vector;
  10. // Referenced classes of package com.objectplanet.chart:
  11. //            ChartApplet, LineChart, Chart
  12. public class LineChartApplet extends ChartApplet
  13. {
  14.     private int[] getStyleValues(String s)
  15.     {
  16.         int ai[] = null;
  17.         if(s != null)
  18.         {
  19.             StringTokenizer stringtokenizer = new StringTokenizer(s, ",");
  20.             ai = new int[stringtokenizer.countTokens()];
  21.             for(int i = 0; i < ai.length; i++)
  22.             {
  23.                 String s1 = stringtokenizer.nextToken().trim().toLowerCase();
  24.                 if(s1.equals("circle"))
  25.                     ai[i] = 0;
  26.                 else
  27.                 if(s1.equals("circle_opaque"))
  28.                     ai[i] = 1;
  29.                 else
  30.                 if(s1.equals("circle_filled"))
  31.                     ai[i] = 2;
  32.                 else
  33.                 if(s1.equals("square"))
  34.                     ai[i] = 3;
  35.                 else
  36.                 if(s1.equals("square_opaque"))
  37.                     ai[i] = 4;
  38.                 else
  39.                 if(s1.equals("square_filled"))
  40.                     ai[i] = 5;
  41.                 else
  42.                 if(s1.equals("diamond"))
  43.                     ai[i] = 6;
  44.                 else
  45.                 if(s1.equals("diamond_opaque"))
  46.                     ai[i] = 7;
  47.                 else
  48.                 if(s1.equals("diamond_filled"))
  49.                 {
  50.                     ai[i] = 8;
  51.                 } else
  52.                 {
  53.                     ai[i] = 0;
  54.                     System.out.println("Invalid sampleHighlightStyle: " + s1);
  55.                 }
  56.             }
  57.         }
  58.         return ai;
  59.     }
  60.     public LineChartApplet()
  61.     {
  62.     }
  63.     protected Chart createChart(String s)
  64.     {
  65.         if(s == null || s.equals(""))
  66.             s = "cn.com.fcsoft.chart.LineChart";
  67.         try
  68.         {
  69.             Class class1 = Class.forName(s);
  70.             LineChart linechart = (LineChart)class1.newInstance();
  71.             linechart.setRange(0, 100D);
  72.             return linechart;
  73.         }
  74.         catch(ClassNotFoundException _ex)
  75.         {
  76.             System.out.println("Class not found: " + s);
  77.         }
  78.         catch(InstantiationException _ex)
  79.         {
  80.             System.out.println("Could not create an instance of the class: " + s);
  81.         }
  82.         catch(IllegalAccessException _ex)
  83.         {
  84.             System.out.println("Illegal access, could not create an instance of class: " + s);
  85.         }
  86.         catch(ClassCastException _ex)
  87.         {
  88.             System.out.println("The class " + s + ", does not extend from com.objectplanet.chart.LineChart");
  89.         }
  90.         return new LineChart(1, 1, 100D);
  91.     }
  92.     private void initParameter(String s, String s1)
  93.     {
  94.         if(s1 != null)
  95.             setParameter(s, s1);
  96.     }
  97.     public void setParameter(String s, String s1)
  98.     {
  99.         if(s == null)
  100.             return;
  101.         s = s.toLowerCase();
  102.         if(s.equals("valuelabelstyle"))
  103.         {
  104.             chart.setValueLabelStyle(0);
  105.             if(s1 != null)
  106.                 if(s1.equals("point"))
  107.                     chart.setValueLabelStyle(1);
  108.                 else
  109.                 if(s1.equals("floating"))
  110.                     chart.setValueLabelStyle(2);
  111.         } else
  112.         if(s.equals("samplelabelson"))
  113.             chart.setSampleLabelsOn(s1 != null && s1.toLowerCase().equals("true"));
  114.         else
  115.         if(s.equals("samplelabelstyle"))
  116.         {
  117.             chart.setSampleLabelStyle(3);
  118.             if(s1 != null && s1.trim().toLowerCase().equals("floating"))
  119.                 chart.setSampleLabelStyle(2);
  120.         } else
  121.         if(s.equals("serieslabelson"))
  122.             chart.setSeriesLabelsOn(s1 != null && s1.toLowerCase().equals("true"));
  123.         else
  124.         if(s.equals("autolabelspacingon"))
  125.             chart.setAutoLabelSpacingOn(s1 != null && s1.toLowerCase().equals("true"));
  126.         else
  127.         if(s.equals("serieslineoff"))
  128.         {
  129.             if(s1 != null && s1.trim().toLowerCase().equals("true"))
  130.                 chart.setSeriesLineOn(false);
  131.             else
  132.             if(s1 != null && s1.trim().length() > 0)
  133.             {
  134.                 chart.setSeriesLineOn(true);
  135.                 Double adouble[] = ChartApplet.getDoubleValues(s1);
  136.                 int j = chart.getSeriesCount();
  137.                 for(int k1 = 0; k1 < adouble.length; k1++)
  138.                     if(adouble[k1] != null && adouble[k1].intValue() >= 0 && adouble[k1].intValue() < j)
  139.                         chart.setSeriesLineOn(adouble[k1].intValue(), false);
  140.             } else
  141.             {
  142.                 chart.setSeriesLineOn(true);
  143.             }
  144.         } else
  145.         if(s.equals("connectedlineson"))
  146.         {
  147.             chart.setConnectedLinesOn(-1, false);
  148.             if(s1 != null && s1.trim().toLowerCase().equals("true"))
  149.                 chart.setConnectedLinesOn(-1, true);
  150.             else
  151.             if(s1 != null && s1.trim().length() > 0)
  152.             {
  153.                 Double adouble1[] = ChartApplet.getDoubleValues(s1);
  154.                 int k = chart.getSeriesCount();
  155.                 for(int l1 = 0; l1 < adouble1.length; l1++)
  156.                     if(adouble1[l1] != null && adouble1[l1].intValue() >= 0 && adouble1[l1].intValue() < k)
  157.                         chart.setConnectedLinesOn(adouble1[l1].intValue(), true);
  158.             }
  159.         } else
  160.         if(s.equals("linewidth"))
  161.         {
  162.             if(s1 != null && s1.trim().length() > 0)
  163.             {
  164.                 Double adouble2[] = ChartApplet.getDoubleValues(s1);
  165.                 if(adouble2.length == 1 && chart.getSeriesCount() > 1)
  166.                 {
  167.                     chart.setLineWidth(-1, adouble2[0].intValue());
  168.                 } else
  169.                 {
  170.                     for(int l = 0; l < adouble2.length; l++)
  171.                         chart.setLineWidth(l, adouble2[l].intValue());
  172.                 }
  173.             } else
  174.             {
  175.                 chart.setLineWidth(-1, 2);
  176.             }
  177.         } else
  178.         if(s.equals("stackedon"))
  179.             chart.setStackedOn(s1 != null && s1.toLowerCase().equals("true"));
  180.         else
  181.         if(s.equals("samplehighlighton"))
  182.         {
  183.             boolean aflag[] = getBooleanValues(s1);
  184.             int i1 = chart.getSeriesCount();
  185.             for(int i2 = 0; i2 < i1; i2++)
  186.                 if(aflag != null && aflag.length > 0)
  187.                     chart.setSampleHighlightOn(i2, aflag[i2 % aflag.length]);
  188.                 else
  189.                     chart.setSampleHighlightOn(i2, false);
  190.         } else
  191.         if(s.equals("samplehighlightstyle"))
  192.         {
  193.             int ai[] = getStyleValues(s1);
  194.             int j1 = chart.getSeriesCount();
  195.             for(int j2 = 0; j2 < j1; j2++)
  196.             {
  197.                 int l2 = chart.getSampleHighlightSize(j2);
  198.                 int j3 = 0;
  199.                 if(ai != null && ai.length > 0)
  200.                     j3 = ai[j2 % ai.length];
  201.                 chart.setSampleHighlightStyle(j2, j3, l2);
  202.             }
  203.         } else
  204.         if(s.equals("samplehighlightsize"))
  205.         {
  206.             int i = chart.getSeriesCount();
  207.             Double adouble3[] = ChartApplet.getDoubleValues(s1);
  208.             for(int k2 = 0; k2 < i; k2++)
  209.             {
  210.                 int i3 = chart.getSampleHighlightStyle(k2);
  211.                 int k3 = 6;
  212.                 if(adouble3 != null && adouble3[k2 % adouble3.length] != null)
  213.                     k3 = adouble3[k2 % adouble3.length].intValue();
  214.                 chart.setSampleHighlightStyle(k2, i3, k3);
  215.             }
  216.         } else
  217.         {
  218.             super.setParameter(s, s1);
  219.         }
  220.     }
  221.     protected void refresh()
  222.     {
  223.         chart.repaint();
  224.     }
  225.     private boolean[] getBooleanValues(String s)
  226.     {
  227.         boolean aflag[] = null;
  228.         if(s != null)
  229.         {
  230.             StringTokenizer stringtokenizer = new StringTokenizer(s, ",");
  231.             aflag = new boolean[stringtokenizer.countTokens()];
  232.             for(int i = 0; i < aflag.length; i++)
  233.                 aflag[i] = stringtokenizer.nextToken().trim().toLowerCase().equals("true");
  234.         }
  235.         return aflag;
  236.     }
  237.     public void init()
  238.     {
  239.         chart = (LineChart)super.theChart;
  240.         super.init();
  241.         String s = getParameterPrefix();
  242.         initParameter("valueLabelFont", getParameter(s + "valueLabelFont"));
  243.         initParameter("valueLabelStyle", getParameter(s + "valueLabelStyle"));
  244.         initParameter("sampleDecimalCount", getParameter(s + "sampleDecimalCount"));
  245.         initParameter("sampleLabelsOn", getParameter(s + "sampleLabelsOn"));
  246.         initParameter("sampleLabelStyle", getParameter(s + "sampleLabelStyle"));
  247.         initParameter("sampleLabelFont", getParameter(s + "sampleLabelFont"));
  248.         initParameter("seriesLabelsOn", getParameter(s + "seriesLabelsOn"));
  249.         initParameter("seriesLabels", getParameter(s + "seriesLabels"));
  250.         initParameter("autoLabelSpacingOn", getParameter(s + "autoLabelSpacingOn"));
  251.         initParameter("seriesLineOff", getParameter(s + "seriesLineOff"));
  252.         initParameter("connectedLinesOn", getParameter(s + "connectedLinesOn"));
  253.         initParameter("lineWidth", getParameter(s + "lineWidth"));
  254.         initParameter("stackedOn", getParameter(s + "stackedOn"));
  255.         initParameter("sampleHighlightOn", getParameter(s + "sampleHighlightOn"));
  256.         initParameter("sampleHighlightStyle", getParameter(s + "sampleHighlightStyle"));
  257.         initParameter("sampleHighlightSize", getParameter(s + "sampleHighlightSize"));
  258.         initParameter("sampleScrollerOn", getParameter(s + "sampleScrollerOn"));
  259.         String s1 = getParameter(s + "overlay");
  260.         initParameter(s + "overlay", getParameter(s + "overlay"));
  261.         int i = s1 == null ? 0 : 1;
  262.         for(String s2 = getParameter(s + "overlay" + i); s2 != null; s2 = getParameter(s + "overlay" + i))
  263.         {
  264.             initParameter(s + "overlay" + i, getParameter(s + "overlay" + i));
  265.             i++;
  266.         }
  267.         setRangeParameters(true);
  268.         for(int j = 0; j < super.overlayChartApplets.size(); j++)
  269.         {
  270.             ChartApplet chartapplet = (ChartApplet)super.overlayChartApplets.elementAt(j);
  271.             if(chartapplet != null)
  272.                 chartapplet.setRangeParameters(false);
  273.         }
  274.         chart.setAutomaticRepaintOn(true);
  275.     }
  276.     public LineChart chart;
  277. }