monitordispositivos.RecibirVotos.java Source code

Java tutorial

Introduction

Here is the source code for monitordispositivos.RecibirVotos.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package monitordispositivos;

import java.awt.BorderLayout;
import java.awt.Color;
import java.text.DecimalFormat;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;

/**
 *
 * @author Alfonso 7
 */
public class RecibirVotos {

    public static boolean RECIBIENDO = true;
    boolean nuevo = false;
    int votos = 0;
    double poblacion = 0;
    double porcentaje;
    DecimalFormat decimales;
    DefaultPieDataset data;
    JFreeChart chart;
    PiePlot plot;
    ChartPanel chartPanel;

    JLabel lblvotos_totales;
    JLabel lblporcentaje;
    JPanel pnlgrafica;
    JPanel pnl_consulta;
    JPanel pnl_espera;

    public void iniciarEscucha(int votos, double poblacion, JLabel lblvotos_totales, JLabel lblporcentaje,
            JPanel pnlgrafica, JPanel consulta, JPanel espera) {
        RECIBIENDO = true;
        this.votos = votos;
        this.lblvotos_totales = lblvotos_totales;
        this.lblporcentaje = lblporcentaje;
        this.pnlgrafica = pnlgrafica;
        this.poblacion = poblacion;
        this.pnl_consulta = consulta;
        this.pnl_espera = espera;
        actualizarConteo();
    }

    public void actualizarConteo() {
        /*
        * Porcentaje
        */
        votos = votos + 1;
        lblvotos_totales.setText("" + votos);
        porcentaje = (votos * 100) / poblacion;
        if (porcentaje >= 100.0 || (porcentaje % 1) == 0)
            decimales = new DecimalFormat("0");
        else
            decimales = new DecimalFormat("0.00");
        lblporcentaje.setText("" + decimales.format(porcentaje) + "%");

        // Fuente de Datos
        data = new DefaultPieDataset();
        data.setValue("SI", votos);
        data.setValue("NO", poblacion - votos);
        // Creando el Grafico
        chart = ChartFactory.createPieChart("", data, false, false, false);
        chart.setBackgroundPaint(Color.white);

        plot = (PiePlot) chart.getPlot();
        plot.setBackgroundPaint(Color.white);
        plot.setLabelGenerator(null);
        plot.setOutlineVisible(false);
        plot.setSectionPaint("SI", new Color(0, 204, 0));
        plot.setSectionPaint("NO", new Color(218, 24, 24));

        // Crear el Panel del Grafico con ChartPanel
        chartPanel = new ChartPanel(chart);
        chartPanel.setEnabled(false);
        pnlgrafica.setLayout(new java.awt.BorderLayout());
        pnlgrafica.removeAll();
        pnlgrafica.add(chartPanel, BorderLayout.CENTER);
        pnlgrafica.validate();
    }
}