ICEFaces - Criar (extender) o componente PanelGroup

Olá!

Estou desenvolvendo um projeto usando ICEFaces e estou querendo criar um componente personalizado.

Ele é bem simples na verdade, é apenas um PanelGroup com alguns componentes dentro e um efeito do tipo highlight associado à um desses componentes. Tive a idéia de cria-lo pois a aplicação utiliza essa combinação de componentes bem frequentemente e eu queria facilitar a vida das pessoas que vao fazer o “desenvolvimento em massa” mais tarde…

Meu primeiro problema é que não existe a classe PanelGroup, apenas o componente… Então não sei qual classe devo extender…

Também não estou certo se a criação de componentes personalizados no ICEFaces se dá na mesma maneira que com JSF, ou se existe alguma diferença que deve ser notada no ICEFaces, principalmente quando lidamos com features que são exclusivas desse último (como Effects, por exemplo).

Tá difícil achar material sobre extensão de componentes no ICEFaces, por isso resolvi postar.

Opa, depois de um pouco de pesquisa acabei descobrindo uma solução…

Primeiramente, o componente panelGroup utiliza a classe HtmlPanelGroup, e não PanelGroup como eu esperava… Mas no fim acabei criando um componente customizado utilizando Facelets, que caiu como uma luva no projeto que estou desenvolvendo. é muito facil criar componentes que são formados por outros sub componentes.

Ai vai um link pra um tutorial legal sobre criação de componentes com Facelets: http://www.ibm.com/developerworks/java/library/j-facelets/#download

Abs.