SelectOneMenu de meses do Ano

Boa tarde galera, tudo certo?? Bem, na minha aplicação tenho um SelectOneMenu dos meses do ano para filtrar os aniversariantes do mes que a pessoa escolher. “Passei” para os mesmos valores de 0 a 11. Porém, eu tenho um itemLabel SELECIONE e estou tendo que passar no itemValue 12. O problema é que daí o SELECIONE fica por ÚLTIMO…Abaixo o xhtml:

 <h:panelGrid columns="2" width="300">
                                    <p:selectOneMenu required="false" id="dtaNascimento" converter="sec" value="#{matriculaJsfBean.mesAtual}" filter="true" caseSensitive="false" filterMatchMode="contains" requiredMessage="Selecione o mês.">
                                        <f:selectItem itemLabel="Janeiro" itemValue="0"/>
                                        <f:selectItem itemLabel="Fevereiro" itemValue="1"/>
                                        <f:selectItem itemLabel="Março" itemValue="2"/>
                                        <f:selectItem itemLabel="Abril" itemValue="3"/>
                                        <f:selectItem itemLabel="Maio" itemValue="4"/>
                                        <f:selectItem itemLabel="Junho" itemValue="5"/>
                                        <f:selectItem itemLabel="Julho" itemValue="6"/>
                                        <f:selectItem itemLabel="Agosto" itemValue="7"/>
                                        <f:selectItem itemLabel="Setembro" itemValue="8"/>
                                        <f:selectItem itemLabel="Outubro" itemValue="9"/>
                                        <f:selectItem itemLabel="Novembro" itemValue="10"/>
                                        <f:selectItem itemLabel="Dezembro" itemValue="11"/>
                                        <f:selectItem itemLabel="SELECIONE " itemValue="12"/>
                                    </p:selectOneMenu>
                                </h:panelGrid>

No meu Bean faço o seguinte:

private int mesAtual = 12;
 public void filtraAniversariantesDoMes() {
        int mesNascimentoAluno;
        ANIVERSARIANTES2.clear();
        ANIVERSARIANTES.clear();
        ANIVERSARIANTES = ms.listaAniversariantesRelatorio(montaParametrosAniversariantes());
        if (mesAtual == 12) {
            ANIVERSARIANTES2.addAll(ANIVERSARIANTES);
        } else {
            for (Iterator<Matricula> it = ANIVERSARIANTES.iterator(); it.hasNext();) {
                Matricula matricula = it.next();
                Date dataDeNascimentoAluno = matricula.getAluno().getDataNascimento();
                mesNascimentoAluno = dataDeNascimentoAluno.getMonth();
                if (mesNascimentoAluno == mesAtual) {
                    ANIVERSARIANTES2.add(matricula);
                }
            }
        }
    }

Se alguém puder ajudar e souber como posso solucionar esse problema para conseguir deixar o itemLabel SELECIONE por PRIMEIRO…Eu agradeceria mto…Vlw

Alguém poderia ajudar??? Se alguém puder dar uma mão, agradeceria mto…Vlw

Bom dia galera, alguém podia dar uma ajuda?? Vlw.

Já tentou colocar ele em primeiro lugar na tela?

Bom dia Rodrigo. Bem, já tentei sim… o filtro em si está funcionando, porém, como janeiro começa por 0 (ZERO) e vai até dezembro(11) pensei em colocar o SELECIONE como 12…Mas não consegui colocar ele como primeiro.
Tentei também alterar esses valores de janeiro a dezembro, ou seja, começar de janeiro ( iniciar valor com 1) e dezembro ( terminar com valor 12)… Mas, até o momento não consegui…Teria alguma ideia??
Vlw por estar ajudando…Abc

Bom dia caro amigo

Você pode fazer assim:

<f:selectItem itemLabel="SELECIONE " itemValue="12"/> 
<f:selectItem itemLabel="Janeiro" itemValue="0"/>  
<f:selectItem itemLabel="Fevereiro" itemValue="1"/>  
<f:selectItem itemLabel="Março" itemValue="2"/>  
<f:selectItem itemLabel="Abril" itemValue="3"/>  
<f:selectItem itemLabel="Maio" itemValue="4"/>  
<f:selectItem itemLabel="Junho" itemValue="5"/>  
<f:selectItem itemLabel="Julho" itemValue="6"/>  
<f:selectItem itemLabel="Agosto" itemValue="7"/>  
<f:selectItem itemLabel="Setembro" itemValue="8"/>  
<f:selectItem itemLabel="Outubro" itemValue="9"/>  
<f:selectItem itemLabel="Novembro" itemValue="10"/>  
<f:selectItem itemLabel="Dezembro" itemValue="11"/>  

Testei aqui e funcionou!

Espero ter ajudado.

Além disso, se eu colocar o TODOS com valor 12 no início…aparece o seginte erro:

SEVERE: Index: 12, Size: 4
java.lang.IndexOutOfBoundsException: Index: 12, Size: 4
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.systempro.sapiweb.ui.converter.ConverterStorageBean.getEntity(ConverterStorageBean.java:33)
	at com.systempro.sapiweb.ui.converter.SimpleEntityConverter.getAsObject(SimpleEntityConverter.java:53)
	at org.primefaces.renderkit.SelectRenderer.isSelected(SelectRenderer.java:55)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeOption(SelectOneMenuRenderer.java:360)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeSelectItems(SelectOneMenuRenderer.java:333)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeInput(SelectOneMenuRenderer.java:114)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeMarkup(SelectOneMenuRenderer.java:91)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeEnd(SelectOneMenuRenderer.java:65)
 /// MAIS LINHAS DE ERROS

[quote=dlsilva1812]Bom dia caro amigo

Você pode fazer assim:

<f:selectItem itemLabel="SELECIONE " itemValue="12"/> 
<f:selectItem itemLabel="Janeiro" itemValue="0"/>  
<f:selectItem itemLabel="Fevereiro" itemValue="1"/>  
<f:selectItem itemLabel="Março" itemValue="2"/>  
<f:selectItem itemLabel="Abril" itemValue="3"/>  
<f:selectItem itemLabel="Maio" itemValue="4"/>  
<f:selectItem itemLabel="Junho" itemValue="5"/>  
<f:selectItem itemLabel="Julho" itemValue="6"/>  
<f:selectItem itemLabel="Agosto" itemValue="7"/>  
<f:selectItem itemLabel="Setembro" itemValue="8"/>  
<f:selectItem itemLabel="Outubro" itemValue="9"/>  
<f:selectItem itemLabel="Novembro" itemValue="10"/>  
<f:selectItem itemLabel="Dezembro" itemValue="11"/>  

Testei aqui e funcionou!

Espero ter ajudado.[/quote]
Bom dia…Abaixo postei o erro que está dando quando coloco o SELECIONE no IINICIO…poderia continuar ajudando?? Vlw…

O que faz esse converter sec? Você não precisa de converter para um número

[quote=Ricardo Fávero Júnior][quote=dlsilva1812]Bom dia caro amigo

Você pode fazer assim:

<f:selectItem itemLabel="SELECIONE " itemValue="12"/> 
<f:selectItem itemLabel="Janeiro" itemValue="0"/>  
<f:selectItem itemLabel="Fevereiro" itemValue="1"/>  
<f:selectItem itemLabel="Março" itemValue="2"/>  
<f:selectItem itemLabel="Abril" itemValue="3"/>  
<f:selectItem itemLabel="Maio" itemValue="4"/>  
<f:selectItem itemLabel="Junho" itemValue="5"/>  
<f:selectItem itemLabel="Julho" itemValue="6"/>  
<f:selectItem itemLabel="Agosto" itemValue="7"/>  
<f:selectItem itemLabel="Setembro" itemValue="8"/>  
<f:selectItem itemLabel="Outubro" itemValue="9"/>  
<f:selectItem itemLabel="Novembro" itemValue="10"/>  
<f:selectItem itemLabel="Dezembro" itemValue="11"/>  

Testei aqui e funcionou!

Espero ter ajudado.[/quote]
Bom dia…Abaixo postei o erro que está dando quando coloco o SELECIONE no IINICIO…poderia continuar ajudando?? Vlw…[/quote]

Que erro deu?

[quote=dlsilva1812][quote=Ricardo Fávero Júnior][quote=dlsilva1812]Bom dia caro amigo

Você pode fazer assim:

<f:selectItem itemLabel="SELECIONE " itemValue="12"/> 
<f:selectItem itemLabel="Janeiro" itemValue="0"/>  
<f:selectItem itemLabel="Fevereiro" itemValue="1"/>  
<f:selectItem itemLabel="Março" itemValue="2"/>  
<f:selectItem itemLabel="Abril" itemValue="3"/>  
<f:selectItem itemLabel="Maio" itemValue="4"/>  
<f:selectItem itemLabel="Junho" itemValue="5"/>  
<f:selectItem itemLabel="Julho" itemValue="6"/>  
<f:selectItem itemLabel="Agosto" itemValue="7"/>  
<f:selectItem itemLabel="Setembro" itemValue="8"/>  
<f:selectItem itemLabel="Outubro" itemValue="9"/>  
<f:selectItem itemLabel="Novembro" itemValue="10"/>  
<f:selectItem itemLabel="Dezembro" itemValue="11"/>  

Testei aqui e funcionou!

Espero ter ajudado.[/quote]
Bom dia…Abaixo postei o erro que está dando quando coloco o SELECIONE no IINICIO…poderia continuar ajudando?? Vlw…[/quote]

Que erro deu?[/quote]

SEVERE: Index: 12, Size: 4
java.lang.IndexOutOfBoundsException: Index: 12, Size: 4
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.systempro.sapiweb.ui.converter.ConverterStorageBean.getEntity(ConverterStorageBean.java:33)
	at com.systempro.sapiweb.ui.converter.SimpleEntityConverter.getAsObject(SimpleEntityConverter.java:53)
	at org.primefaces.renderkit.SelectRenderer.isSelected(SelectRenderer.java:55)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeOption(SelectOneMenuRenderer.java:360)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeSelectItems(SelectOneMenuRenderer.java:333)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeInput(SelectOneMenuRenderer.java:114)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeMarkup(SelectOneMenuRenderer.java:91)
	at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeEnd(SelectOneMenuRenderer.java:65)
//MAIS LINHAS...

[quote=Ricardo Fávero Júnior][quote=dlsilva1812][quote=Ricardo Fávero Júnior][quote=dlsilva1812]Bom dia caro amigo

Você pode fazer assim:

<f:selectItem itemLabel="SELECIONE " itemValue="12"/> 
<f:selectItem itemLabel="Janeiro" itemValue="0"/>  
<f:selectItem itemLabel="Fevereiro" itemValue="1"/>  
<f:selectItem itemLabel="Março" itemValue="2"/>  
<f:selectItem itemLabel="Abril" itemValue="3"/>  
<f:selectItem itemLabel="Maio" itemValue="4"/>  
<f:selectItem itemLabel="Junho" itemValue="5"/>  
<f:selectItem itemLabel="Julho" itemValue="6"/>  
<f:selectItem itemLabel="Agosto" itemValue="7"/>  
<f:selectItem itemLabel="Setembro" itemValue="8"/>  
<f:selectItem itemLabel="Outubro" itemValue="9"/>  
<f:selectItem itemLabel="Novembro" itemValue="10"/>  
<f:selectItem itemLabel="Dezembro" itemValue="11"/>  

Testei aqui e funcionou!

Espero ter ajudado.[/quote]
Bom dia…Abaixo postei o erro que está dando quando coloco o SELECIONE no IINICIO…poderia continuar ajudando?? Vlw…[/quote]

Que erro deu?[/quote]

SEVERE: Index: 12, Size: 4 java.lang.IndexOutOfBoundsException: Index: 12, Size: 4 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at com.systempro.sapiweb.ui.converter.ConverterStorageBean.getEntity(ConverterStorageBean.java:33) at com.systempro.sapiweb.ui.converter.SimpleEntityConverter.getAsObject(SimpleEntityConverter.java:53) at org.primefaces.renderkit.SelectRenderer.isSelected(SelectRenderer.java:55) at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeOption(SelectOneMenuRenderer.java:360) at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeSelectItems(SelectOneMenuRenderer.java:333) at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeInput(SelectOneMenuRenderer.java:114) at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeMarkup(SelectOneMenuRenderer.java:91) at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeEnd(SelectOneMenuRenderer.java:65) //MAIS LINHAS... [/quote]

Blza então amigo, mas eu tinha visto este erro que vc postou qdo tinha colocado tudo com 12.

Uso aqui na empresa o selectOneMenu assim… e funciona normalmente.

<h:selectOneMenu binding="#{ motorista.tipoSang }">
		<f:selectItem itemValue="" itemLabel="Selecione" />
		<f:selectItem itemValue="O-" itemLabel="O-" />
		<f:selectItem itemValue="O+" itemLabel="O+" />
		<f:selectItem itemValue="A-" itemLabel="A-" />
		<f:selectItem itemValue="A+" itemLabel="A+" />
		<f:selectItem itemValue="B-" itemLabel="B-" />
		<f:selectItem itemValue="B+" itemLabel="B+" />
		<f:selectItem itemValue="AB-" itemLabel="AB-" />
		<f:selectItem itemValue="AB+" itemLabel="AB+" />
</h:selectOneMenu>

onde o tipoSang é

Não uso com variável inteira.

Mas blza, boa sorte, não sei o q te dizer mais.