RadioButton Dinamicamente

Boa tarde

Galera, preciso saber se tenho como criar um RadioButton dinamicamente hoje crio os meus componentes assim:

FacesContext fctx = FacesContext.getCurrentInstance();
        Application app = fctx.getApplication();
        RadioButton avaliacao = (RadioButton) app.createComponent(RadioButton.COMPONENT_TYPE);

Mas o que nao sei é qual componente uso para fazer o ITEM do radio, tentei SELECTITEM mas nao deu certo pede um UIComponent que o selectItem nao é.

Alguem sabe como consigo fazer criar esses itens do radio? tendo um valor e uma descrição.

Obrigado

Eu fiz isso em outra situação mas tem como fazer

 <f:repeat var="hor" value="#{rotaController.rota.domingo.listaHorarios}" >
                                    <div class="control-group">
                                        <h:outputLabel styleClass="control-label" value="#{hor.label}" />
                                        <div class="controls">
                                            <p:calendar timeOnly="true" pattern="HH:mm" value="#{hor.horario}" required="true" requiredMessage="Campo #{hor.label} deve ser preenchido." />
                                        </div>
                                    </div>
                                </f:repeat>

eu usei essa solução teste ai para ver se fecha para voce tambem

Infelizmente nao é assim nao que eu preciso.

Eu faço tudo no meu MB e nao na minha view, ou seja, eu preciso criar tudo isso diretamente na minha classe

Alguem tem algum exemplo que eu possa criar esse ITEM?

Obrigado!

Descobri como faço o item, usando: UISelectItem

Estou tentando usar o RadioButton do Primefaces e nao o HTMLSelectOneRadio.

Meu codigo no Bean está assim:

public UIComponent CriaOneRadio(String nome, Integer avaliado, Boolean readOnly) {
        FacesContext fctx = FacesContext.getCurrentInstance();
        Application app = fctx.getApplication();
        RadioButton avaliacao = (RadioButton) app.createComponent(RadioButton.COMPONENT_TYPE);
        UISelectItem itens = (UISelectItem) app.createComponent(UISelectItem.COMPONENT_TYPE);
        
        
        itens.setItemLabel("ÓTIMO - O Atendimento superou minhas expectativas");
        itens.setItemValue(10);
        avaliacao.getChildren().add(itens);
        itens = new UISelectItem();
        
        itens.setItemLabel("BOM - O problema foi resolvido e minhas expectativas foram atendidas");
        itens.setItemValue(8);
        avaliacao.getChildren().add(itens);
        itens = new UISelectItem();
        
        itens.setItemLabel("REGULAR - O problema foi resolvido, mas minhas expectativas não foram atendidas");
        itens.setItemValue(6);
        avaliacao.getChildren().add(itens);
        itens = new UISelectItem();
        
        itens.setItemLabel("RUIM - Meu problema não foi completamente resolvido. Minhas expectativas não foram atendidas em algumas ocasiões");
        itens.setItemValue(4);
        avaliacao.getChildren().add(itens);
        itens = new UISelectItem();
         
        itens.setItemLabel("PÉSSIMO - Meu problema não foi resolvido e as interações foram caracterizadas por uma sucessão de erros");
        itens.setItemValue(2);
        avaliacao.getChildren().add(itens);
        
        avaliacao.setId(nome);
        //avaliacao.setItemIndex(avaliado);
        avaliacao.setDisabled(true);
        
        
        return avaliacao;
        

    }

porém gera esse erro:


[#|2012-07-27T10:42:27.196-0300|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=108;_ThreadName=Thread-2;|StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
	at javax.faces.component.UIComponentBase.findComponent(UIComponentBase.java:561)
	at org.primefaces.component.radiobutton.RadioButtonRenderer.findSelectOneRadio(RadioButtonRenderer.java:123)
	at org.primefaces.component.radiobutton.RadioButtonRenderer.encodeEnd(RadioButtonRenderer.java:35)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1757)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:55)
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)
	at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:51)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:722)
|#]