Primefaces 图表行,一行两个副标题?

Primefaces 图表行,一行两个副标题?,primefaces,Primefaces,“Nível”和“Nivel”。 我只想要一个传奇。但我有两个正在生成。发生了什么事?谁来解决这个问题? 另一个问题,我已经把细节放在这篇文章里了,我需要给谁发很多细节。。。 xhtml: 豆子: @ManagedBean 公共类ChartView实现了可序列化{ private-Grafico-Grafico=new-Grafico(); private-GraficoCrudAnnotations-graficoDAO=new-GraficoCrudAnnotations(); priv

“Nível”和“Nivel”。 我只想要一个传奇。但我有两个正在生成。发生了什么事?谁来解决这个问题? 另一个问题,我已经把细节放在这篇文章里了,我需要给谁发很多细节。。。 xhtml:


豆子:

@ManagedBean
公共类ChartView实现了可序列化{
private-Grafico-Grafico=new-Grafico();
private-GraficoCrudAnnotations-graficoDAO=new-GraficoCrudAnnotations();
private List listaGrafico=new ArrayList();
private List listaGraficoFinal=new ArrayList();
private Reservatorio Reservatorio=新Reservatorio();
private Reservatorio reservatorio1=新的Reservatorio();
private List listaReservatorio=new ArrayList();
private ReservatorioCrudAnnotations reservatorioDAO=新的ReservatorioCrudAnnotations();
私人日期数据;
专用LineChartModel lineModel1;
私有GraficoBean Gb=新GraficoBean();
@施工后
公共void init(){
线性模型();
}
公共LineChartModel getLineModel1(){
返回行模型1;
}
private List Grafico=new ArrayList();
公共列表getGrafico(){
返回格拉菲科;
}
公共无效设置grafico(列表grafico){
格拉菲科=格拉菲科;
}
公共图表(){
GraficoBean Gb=新GraficoBean();
Gb.gerarGrafico();
}
私有void createLineModels(){
System.out.println(“createLineModels()”);
lineModel1=(LineChartModel)LinearModel();
lineModel1.setTitle(“Gráfico de Reservatório”);
lineModel1.setLegendPosition(“e”);
Axis yAxis=lineModel1.getAxis(AxisType.Y);
yAxis.setLabel(“Nível”);
yAxis.setMin(0);
yAxis.setMax(100);
Axis xAxis=lineModel1.getAxis(AxisType.X);
xAxis.setLabel(“Hora do dia”);
xAxis.setMin(0);
xAxis.setMax(23);
xAxis.setTickInterval(“1”);
}
公共CartesianChartModel LinearModel(){
LineChartModel模型=新的LineChartModel();
LineChartSeries系列1=新的LineChartSeries();
//试一试{
//if(series1.getLabel().equalsIgnoreCase(“Nivel”))
//            {
//System.out.println(“jáexiste legenda”);
//                
//            }
//        }
//        
//捕获(例外e){
//            
//            
//        
试一试{
LegendPlacement-OUTSIDE=LegendPlacement.OUTSIDE;
序列1.集合(0,0);
//序列1.集合(0,0);
型号.添加系列(系列1);
系列1.设置标签(“Nível”);
序列1.设置填充(真);
lineModel1=(LineChartModel)模型;
//lineModel1.背景色(“58BA27、FFCC33、F74A4A、F52F2F、A30303”);
//lineModel1.setExtender(“图表扩展器”);
lineModel1.setTitle(“Gráfico de Reservatório”);
lineModel1.setLegendPlacement(外部);
lineModel1.setLegendPosition(“e”);
Axis yAxis=lineModel1.getAxis(AxisType.Y);
yAxis.setMin(0);
yAxis.setMax(100);
yAxis.setLabel(“Nível”);
Axis xAxis=lineModel1.getAxis(AxisType.X);
xAxis.setLabel(“Hora do dia”);
xAxis.setMin(0);
xAxis.setMax(23);
xAxis.setTickInterval(“1”);
int nivel;
System.out.println(“AQUI::”+listaReservatorio.size());
尝试
{
System.out.println(“Id do reservatorio:+reservatorio.getIdReservatorio());
DateFormat dataFormatada=新的SimpleDataFormat(“dd/MM/yyyy”);
对于(int i=0;i=0;i--){
//System.out.println(“Nivel:+listaGraficoFinal.get(i).getNivel());
//System.out.println(“数据:
//+listaGraficoFinal.get(i.getData().substring(11,13));
int x=listaGraficoFinal.get(i).getNivel();
int y=Integer.parseInt(listaGraficoFinal.get(i).getData().substring(11,13));
系统输出
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:namespace="http://java.sun.com/jsf/composite/namespace"
    xmlns:sec="http://www.springframework.org/security/facelets/tags">

<ui:composition template="Template.xhtml">
    <ui:define name="content">
        <div class="content_wrapper">
            <div class="content">
                <h:form id="formtest">
                <p:growl id="meuGrowl" />
                <p:poll interval="5" listener="#{PortaBean.verificarplaca}"
                    update="meuGrowl" />
            </h:form>

            <h:form id="formtest1">
                <p:growl id="meuGrowl1" />
                <p:poll interval="60" listener="#{PortaBean.Grafico}"
                    update="meuGrowl1" />
            </h:form>
            <h:form id="formtest2">
                <p:growl id="meuGrowl2" />
                <p:poll interval="5" listener="#{PortaBean.verificarPorta}"
                    update="meuGrowl2" />
            </h:form>
                <h:form id="formGrid">
                    <p:selectOneMenu value="#{chartView.reservatorio.idReservatorio}"
                        style="width:170px" required="true"
                        requiredMessage="Selecione algum.">
                        <f:selectItem itemLabel="Selecione o Reservatório" itemValue="0" />
                        <f:selectItems value="#{chartView.listaReservatorio}"
                            var="reservatorio" itemLabel="#{reservatorio.nomeReservatorio}"
                            itemValue="#{reservatorio.idReservatorio}" />
                    </p:selectOneMenu>
                    <p:calendar id="popup" value="#{chartView.data}" />
                    <p:commandButton value="Gerar gráfico" update="chart"
                        actionListener="#{chartView.LinearModel}" />



                    <p:chart id="chart" type="line" model="#{chartView.lineModel1}"
                        style="height:300px;" />




                </h:form>
            </div>
        </div>
    </ui:define>
</ui:composition>
</html>
@ManagedBean
public class ChartView implements Serializable {

    private Grafico grafico = new Grafico();
    private GraficoCrudAnnotations graficoDAO = new GraficoCrudAnnotations();
    private List<Grafico> listaGrafico = new ArrayList<>();
    private List<Grafico> listaGraficoFinal = new ArrayList<>();
    private Reservatorio reservatorio = new Reservatorio();
    private Reservatorio reservatorio1 = new Reservatorio();
    private List<Reservatorio> listaReservatorio = new ArrayList<>();
    private ReservatorioCrudAnnotations reservatorioDAO = new ReservatorioCrudAnnotations();
    private Date data;
    private LineChartModel lineModel1;
    private GraficoBean Gb = new GraficoBean();

    @PostConstruct
    public void init() {


        LinearModel();

    }

    public LineChartModel getLineModel1() {
        return lineModel1;
    }


    private List<Grafico> Grafico = new ArrayList<>();

    public List<Grafico> getGrafico() {
        return Grafico;
    }

    public void setGrafico(List<Grafico> grafico) {
        Grafico = grafico;
    }


    public void refreshChart() {
        GraficoBean Gb = new GraficoBean();
        Gb.gerarGrafico();
    }

    private void createLineModels() {



            System.out.println("createLineModels()");
            lineModel1 = (LineChartModel) LinearModel();
            lineModel1.setTitle("Gráfico de Reservatório");
            lineModel1.setLegendPosition("e");
            Axis yAxis = lineModel1.getAxis(AxisType.Y);
            yAxis.setLabel("Nível");

            yAxis.setMin(0);
            yAxis.setMax(100);
            Axis xAxis = lineModel1.getAxis(AxisType.X);
            xAxis.setLabel("Hora do dia");
            xAxis.setMin(0);
            xAxis.setMax(23);
            xAxis.setTickInterval("1");


    }



    public CartesianChartModel LinearModel() {
        LineChartModel model = new LineChartModel();
        LineChartSeries series1 = new LineChartSeries();

//        try{
//            if(series1.getLabel().equalsIgnoreCase("Nivel"))
//            {
//                System.out.println("já existe legenda");
//                
//            }
//        }
//        
//        catch(Exception e){
//            
//            
//        
        try{

        LegendPlacement OUTSIDE=LegendPlacement.OUTSIDE;
        series1.set(0, 0);
        //series1.set(0, 0);

        model.addSeries(series1);
        series1.setLabel("Nível");
        series1.setFill(true);

        lineModel1 =(LineChartModel) model;
        //lineModel1.setSeriesColors("58BA27,FFCC33,F74A4A,F52F2F,A30303");
        //lineModel1.setExtender("chartExtender");

        lineModel1.setTitle("Gráfico de Reservatório");
        lineModel1.setLegendPlacement(OUTSIDE);
        lineModel1.setLegendPosition("e");

        Axis yAxis = lineModel1.getAxis(AxisType.Y);

        yAxis.setMin(0);
        yAxis.setMax(100);
        yAxis.setLabel("Nível");
        Axis xAxis = lineModel1.getAxis(AxisType.X);
        xAxis.setLabel("Hora do dia");
        xAxis.setMin(0);
        xAxis.setMax(23);
        xAxis.setTickInterval("1");

        int nivel;

        System.out.println("AQUI:: "+listaReservatorio.size());
        try
        {

        System.out.println("Id do reservatorio: "+reservatorio.getIdReservatorio());
        DateFormat dataFormatada = new SimpleDateFormat("dd/MM/yyyy");
        for (int i = 0; i < listaReservatorio.size(); i++) {
            if (listaReservatorio.get(i).getIdReservatorio() == reservatorio
                    .getIdReservatorio()) {
                reservatorio1 = listaReservatorio.get(i);
            }
        }
        System.out.println("graficoDAO: "+graficoDAO.listar().size());
        listaGrafico = graficoDAO.listar();

        System.out.println("Meu reservatorio: "+reservatorio1.getNomeReservatorio());

        String date;  
        for (int i = 0; i < listaGrafico.size(); i++) {
                date = listaGrafico.get(i).getData().substring(0, 10);

                if ((listaGrafico.get(i).getReservatorio().getIdReservatorio() == reservatorio1.getIdReservatorio()) && (dataFormatada.format(data).equalsIgnoreCase(date)) ) {
                    System.out.println("Dentro do IF: "+i);
                    listaGraficoFinal.add(listaGrafico.get(i));
                System.out.println("Dentro do IF");

            }
        }

        System.out.println("Lista Grafico final size: "+ listaGraficoFinal.size());

        }catch(Exception e)
        {
            System.out.println("É NULA: "+e.getCause());
            e.printStackTrace();

            listaGraficoFinal=null;
        }


        System.out.println("InitLinear aqui");

        if (listaGraficoFinal != null) {

            System.out.println("AQUI O QUE INTERESSA Não é null");

            try {
                System.out.println("Tamanho:" + listaGraficoFinal.size());



                for (int i = 23; i >= 0; i--) {
                    //System.out.println("Nivel: " + listaGraficoFinal.get(i).getNivel());
                    //System.out.println("Data: "
                    //        + listaGraficoFinal.get(i).getData().substring(11, 13));
                    int x =listaGraficoFinal.get(i).getNivel();
                    int y =Integer.parseInt(listaGraficoFinal.get(i).getData().substring(11, 13)); 


                    System.out.println("X : "+x);
                    System.out.println("Y : "+y);
                    System.out.println("========================");
                    series1.set(y,x);



                }
                //series1.set(20, 20);

            } catch (Exception e) {
                System.out.println("Erro aqui 1: " + e.getCause());
                System.out.println("Erro 2: ");
                e.printStackTrace();
                FacesContext.getCurrentInstance().addMessage(null,new FacesMessage("Não existe informação o suficiente no banco para gerar o gráfico."));

            }

        } else {

            System.out.println("Aqui é null");
            series1.set(0, 0);
            series1.set(0, 0);
        }
        }catch(Exception e){
            FacesContext
            .getCurrentInstance()
            .addMessage(
                    null,
                    new FacesMessage(
                            "Selecione uma data em que exista informação."));
        }
        model.addSeries(series1);
        return model;
    }

    public GraficoCrudAnnotations getGraficoDAO() {
        return graficoDAO;
    }

    public void setGraficoDAO(GraficoCrudAnnotations graficoDAO) {
        this.graficoDAO = graficoDAO;
    }

    public List<Grafico> getListaGrafico() {
        return listaGrafico;
    }

    public void setListaGrafico(List<Grafico> listaGrafico) {
        this.listaGrafico = listaGrafico;
    }

    public List<Grafico> getListaGraficoFinal() {
        return listaGraficoFinal;
    }

    public void setListaGraficoFinal(List<Grafico> listaGraficoFinal) {
        this.listaGraficoFinal = listaGraficoFinal;
    }

    public Reservatorio getReservatorio() {
        return reservatorio;
    }

    public void setReservatorio(Reservatorio reservatorio) {
        this.reservatorio = reservatorio;
    }

    public Reservatorio getReservatorio1() {
        return reservatorio1;
    }

    public void setReservatorio1(Reservatorio reservatorio1) {
        this.reservatorio1 = reservatorio1;
    }

    public List<Reservatorio> getListaReservatorio() {
        return listaReservatorio=reservatorioDAO.listar();
    }

    public void setListaReservatorio(List<Reservatorio> listaReservatorio) {
        this.listaReservatorio = listaReservatorio;
    }

    public ReservatorioCrudAnnotations getReservatorioDAO() {
        return reservatorioDAO;
    }

    public void setReservatorioDAO(ReservatorioCrudAnnotations reservatorioDAO) {
        this.reservatorioDAO = reservatorioDAO;
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public void setGrafico(Grafico grafico) {
        this.grafico = grafico;
    }
model.addSeries(series1);