Duvida ButtonGroup

7 respostas
M

Tenho 3 grupos de radiobuttons. Como faço para desmarcar um radiobutton de um grupo quando outro radiobutton de outro grupo for selecionado?
Já usei o xxx.setSelected(false), mas não funfou.

ButtonGroup grouptransformar = new ButtonGroup();
        ButtonGroup groupformas = new ButtonGroup();
        ButtonGroup groupreflet = new ButtonGroup();

        groupformas.add(retangulo);
        groupformas.add(circun);
        groupformas.add(triang);

        grouptransformar.add(rotate);
        grouptransformar.add(rotatem);
        grouptransformar.add(scale);
        grouptransformar.add(shear);
        grouptransformar.add(transd);
        grouptransformar.add(transi);

        groupreflet.add(emx);
        groupreflet.add(emy);

7 Respostas

B

Ola,

Os botoes em um grupo tem que ter um amrcado… pode ate iniciar em nenhum marcado… mas depois que um é marcado, um tera que ficar marcado… para vc fazer isto vc terá, toda vez, que o grupo 1 for selecionado, vc no grupo 2 vai tirar todos os botoes do grupo, desmarcar o que esta marcado, e adiciona-los novamente no grupo… saca?

T

Em vez de ter 3 grupos, ponha todo mundo em um grupo só.

B

Pelo que deu pra entender não dá… pois um grupo é de “tipo de desenho”, o outro é o “movimento que será executado” e o outro é em que eixo o movimento será executado…

T

Você pode tentar usar clearSelection, se estiver usando Java 6.0 ou posterior.

M

Nao dá. Eu preciso que o grupo formas fique selecionado quando o grupo transformar for marcado, e que o grupo reflet seja desmarcado quando o transforma for selecionado.

M

Como eu usaria o clearselection?

T

A idéia é a seguinte. Digamos que você precise que os grupos sejam marcados na seguinte ordem:
grupo de desenho -> movimento a ser executado -> eixo em que o movimento será executado.
Se você quer, ao selecionar o grupo de desenho, dar um "clearSelection" nos grupos "movimento a ser executado" e "eixo em que o movimento será executado", você precisa então adicionar um listener a cada um dos JRadioButtons do ButtonGroup "grupo de desenho", que seja acionado a cada vez que você clique sobre algum dos JRadioButtons. Isso é meio chato, mas como o ButtonGroup tem um método getElements, que retorna a lista dos JRadioButtons associados a esse ButtonGroup, basta criar um loop.

Criado 31 de março de 2009
Ultima resposta 31 de mar. de 2009
Respostas 7
Participantes 3