Example usage for org.jfree.chart.util DefaultShadowGenerator DefaultShadowGenerator

List of usage examples for org.jfree.chart.util DefaultShadowGenerator DefaultShadowGenerator

Introduction

In this page you can find the example usage for org.jfree.chart.util DefaultShadowGenerator DefaultShadowGenerator.

Prototype

public DefaultShadowGenerator(int size, Color color, float opacity, int distance, double angle) 

Source Link

Document

Creates a new instance with the specified attributes.

Usage

From source file:atlas.kingj.roi.FrmMain.java

private void UpdateROIMaint(Machine[] mach) {
    //ResetStatusLabel();

    if (results != null && RoiData.maintenance.size() >= results.getSize()) {
        DefaultCategoryDataset maintdata = new DefaultCategoryDataset();
        String series1 = "Basic Costs";
        String series2 = "Production Loss";
        for (int i = 0; i < results.getSize(); ++i) {
            String name = results.get(i).getModel() + ": " + results.get(i).getName();
            maintdata.addValue(RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).totcost, series1,
                    name);/*from   ww w  . j ava2 s .c  o m*/
            maintdata.addValue(
                    RoiData.value * RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).tothours
                            * results.get(i).getResult(ResultType.WEIGHT, ResultTime.HOUR) / 1000,
                    series2, name);
            RoiResults.get(i).prodloss = RoiData.value
                    * RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).tothours
                    * results.get(i).getResult(ResultType.WEIGHT, ResultTime.HOUR) / 1000;
            RoiResults.get(i).partcosts = RoiData.maintenance
                    .get(listCompareRoi.getSelectedIndices()[i]).totcost;
            RoiResults
                    .get(i).maintcost = RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).totcost
                            + RoiData.value
                                    * RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).tothours
                                    * results.get(i).getResult(ResultType.WEIGHT, ResultTime.HOUR) / 1000;
        }

        // draw graph
        //JFreeChart chart = ChartFactory.createBarChart("", "", "Maintenance Cost ( / year)", maintdata, PlotOrientation.VERTICAL, false, true, false);
        JFreeChart chart = ChartFactory.createStackedBarChart("", "", "Maintenance Cost ( / year)", maintdata,
                PlotOrientation.VERTICAL, true, true, false);
        CategoryPlot cp = chart.getCategoryPlot();
        cp.setBackgroundPaint(new Color(240, 240, 240));
        cp.setRangeGridlinePaint(Color.gray);
        CategoryItemRenderer renderer = new CustomRenderer(
                new Paint[] { new Color(255, 85, 85), new Color(85, 85, 255), new Color(85, 255, 85),
                        new Color(251, 251, 0), new Color(86, 228, 200) });
        //cp.setRenderer(renderer);
        cp.setShadowGenerator(new DefaultShadowGenerator(7, Color.DARK_GRAY, 1f, 5, -Math.PI / 4));
        BarRenderer b = (BarRenderer) cp.getRenderer();
        b.setBarPainter(new StandardBarPainter());
        renderer.setBaseToolTipGenerator(
                new StandardCategoryToolTipGenerator("{1}, {2}", NumberFormat.getInstance()));
        ValueAxis va = cp.getRangeAxis();
        va.setLabelFont(new Font("Tahoma", Font.BOLD, 13));

        RoiResults.setMaintGraph(chart);

        // Display results graph
        try {
            pnlGraphMaint.remove(lblNoGraph3);
        } catch (Exception e) {
        }
        try {
            pnlGraphMaint.remove(pnlGraphMaintInner);
        } catch (Exception e) {
        }
        pnlGraphMaintInner = new ChartPanel(RoiResults.getMaintGraph());
        pnlGraphMaintInner.setBounds(2, 2, 435, 238);
        pnlGraphMaintInner.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseReleased(MouseEvent e) {
                if (e.getButton() == MouseEvent.BUTTON1 && pnlGraphMaintInner.contains(e.getPoint())
                        && RoiResults != null && RoiResults.getMaintGraph() != null) {
                    JFreeChart chart = RoiResults.getMaintGraph();
                    JFrame pop = new JFrame();
                    pop.getContentPane().add(new ChartPanel(chart));
                    try {
                        pop.setIconImage(ImageIO.read(FrmMain.class.getResourceAsStream("/atlas/logo.png")));
                    } catch (Exception e11) {

                    }
                    pop.setTitle("ROI Graph");
                    pop.pack();
                    pop.setLocationRelativeTo(frmTitanRoiCalculator);
                    pop.setVisible(true);
                }
            }
        });
        pnlGraphMaint.add(pnlGraphMaintInner);
        pnlGraphMaintInner.repaint();

        // Update production loss stat
        try {
            int sel = cmbMachinesmaintenance.getSelectedIndex();
            if (arrayContains(listCompareRoi.getSelectedIndices(), sel))
                lblProdLoss
                        .setText(""
                                + formatDecimal(RoiData.value * RoiData.maintenance.get(sel).tothours
                                        * results.get(arrayIndex(listCompareRoi.getSelectedIndices(), sel))
                                                .getResult(ResultType.WEIGHT, ResultTime.HOUR)
                                        / 1000)
                                + " / year");
            else
                lblProdLoss.setText("Machine not selected");
        } catch (Exception e) {
            lblProdLoss.setText("0.00 / year");
        }

        // marginal improvement label
        int ind1 = cmbMargMaint1.getSelectedIndex();
        int ind2 = cmbMargMaint2.getSelectedIndex();
        double diff = maintdata.getValue(0, ind1).doubleValue() + maintdata.getValue(1, ind1).doubleValue()
                - maintdata.getValue(0, ind2).doubleValue() - maintdata.getValue(1, ind2).doubleValue();
        lblMarginalMaint.setText("" + formatDecimal(diff) + " per annum");
    }
}