É possível verificar se um JToggleButton está em um grupo?'

Olá, eu criei um projeto onde eu preciso fazer uma verificação, preciso verificar se um jradiobutton está em algum grupo e acessar a variável desse grupo, alguém sabe me dizer se isso é possível?

Com o RadioButton é totalmente possível.

Para criar um grupo segue um exemplo:

private void inicializaButtonGroupIncluirClienteTipoPessoa() {

buttonGroupIncluirTipoPessoa = new ButtonGroup();
buttonGroupIncluirTipoPessoa.add(jRadioButtonIncluirTipoClientePessoaFisica);
buttonGroupIncluirTipoPessoa.add(jRadioButtonIncluirTipoClientePessoaJuridica);

}

Para verificar qual está clicado segue outro exemplo:

if (jRadioButtonIncluirTipoClientePessoaFisica.isSelected()) {

}

Olá, obrigado por responder, porém não era isso que eu queria saber, vou dar um exemplo: Acesso a variável de algum jcomponent em algum momento e preciso saber em que container ele está, então eu uso o getparent, só que eu queria saber se nos jradiobuttons tem algum método de coletar a variável do grupo onde ele está, entendeu?

Pelo que entendi, você quer coletar uma série de informações de caso um Jradio esteja selecionado ?
Talvez o uso de um “if” resolva o seu problema, ai você armazena nas variáveis.
Não sei se isto ajuda, mas segue a baixo:

if(rbJradio.isSelected()){

            double n1 = Double.parseDouble(tfN1.getText());
            double n2 = Double.parseDouble(tfN2.getText());
            
     }

Um exemplo do que eu quero:
`

coleto todos os componentes de um container;
depois percorro eles;
quando encontro um jradiobutton coleto o grupo dele(como se fosse um getparent);
e então com esse grupo eu faço alguma ação;

`
entendeu?

pra que precisa especificamente querer percorrer os container?

eu tenho um projeto inteiro trabalhando com isso, a única coisa que preciso é saber como eu faço para acessar o grupo do jradiobutton

bom não cheguei a entender muito bem mais encontrei isso agora fuçando nos métodos do Java talvez é uma luz pra você:

Component[] listaComponent;

listaComponent = jPanelIncluir.getComponents();
        
for (Component component : listaComponent) {
    component.getName();
}

No caso aqui ele estaria pegando dos componentes de um jPanel especifico e ele tem um component.getName que daria pra você comprar com um IF com o nome do componente que você está tentando achar, não sei se funciona pois não testei.

Vou tentar outro exemplo:
`

crio um buttongroup;
adiciono nele um jradiobutton;
então em outra classe eu acesso a variável desse jradiobutton;
então eu gostaria de saber como eu faço para acessar o grupo através do jradiobutton pela outra classe, um bom exemplo é o getparent que retorna o container onde o componentes está localizado, porém quero que retorne o seu grupo;

`
entendeu?

Isso tem como mais você vai querer verificar se ele esta selecionado ou algo do tipo porque aí em tempo de execução não sei se isso vai ser possível? vai ser outra tela como vai ser?

Não, eu só preciso ter acesso a variável do grupo.

Olá, não sei se ajuda mas o método a seguir verifica se um radiobutton está contido em um grupo

private AbstractButton botaoIsInGroup(JRadioButton btn, ButtonGroup grupo) {
   AbstractButton but = null;
        for (Enumeration<AbstractButton> enume = grupo.getElements(); enume.hasMoreElements();) {
            AbstractButton bt = enume.nextElement();
            if (btn.equals(bt)) {
                but = bt;

                break;
            }
        }
        return but;
    }
1 curtida

Olá, muito obrigado pela ajuda, mas tem como fazer isso apenas passando o jradiobutton como parâmetro? Pois no meu código eu estou acessando todos os componentes de um container e eu gostaria de que quando acessa-se um JRadioBtton verifica-se se o mesmo está contido em um grupo e acessar ele.

Nesse caso você precisa identificar quais são os ButtonGroup do componente sem isso não dá pra saber se o radiobutton está nele

1 curtida

Ok muito obrigado pela ajuda, vou fazer assim então :slight_smile: