Мне нужно отобразить <p:selectManyCheckbox>
элементов с изображениями. Я пытался отображать изображения с помощью <p:selectOneRadio>
. Это работает нормально. Я программно добавляю компоненты в пользовательский интерфейс. Это мой код.
answerRadio.setLayout("custom"); //answerRadio is SelectOneRadio
customPnl = (PanelGrid) app.createComponent(PanelGrid.COMPONENT_TYPE);
customPnl.setId("pnl"+qstnCnt);
customPnl.setColumns(3);
radioBtn = (RadioButton) app.createComponent(RadioButton.COMPONENT_TYPE);
radioBtn.setId("opt"+qstnAnsIndx);
radioBtn.setFor("ID of answerRadio");
radioBtn.setItemIndex(ansIndx);
customPnl.getChildren().add(radioBtn);
outPnl.getChildren().add(answerRadio); //outPnl is OutputPanel that include answerRadio
outPnl.getChildren().add(customPnl);
Это <p:selectOneRadio>
с изображениями.
Я хотел бы использовать <p:selectManyCheckbox>
таким же образом. Но PrimeFaces имеет только <p:radioButton>
для пользовательского макета, а не <p:checkbox>
, как этот. Как я могу достичь этого в любом случае? Как я могу отображать <p:selectManyCheckbox>
элементов с изображениями?
<p:selectOneRadio>
/<p:radioButton>
. Я настоятельно рекомендую перестать объявлять/создавать компоненты в контроллере и вместо этого делать это в представлении, как это делает любой другой здравомыслящий разработчик JSF. - person BalusC   schedule 06.01.2015