Bom, meu programa consiste de três classes: Aluno, que trata dos dados dos alunos, busca, inserção, incluindo num vetor. JanelaCadastroAluno que trata da interface, com todos os tratamentos de eventos, sendo que esta classe conversa com a ControleCadastroAluno, onde existem métodos de Inserção e botões (conversando com a classe de interfaces);
Já inseri painel de botões, checkbox, labels e textfields… agora preciso inserir radiobuttons, isso num gridbaglayout.
A questão é: a apostila do professor é muito ruim, quero fazer essa questão logo e a aula é só semana q vem, já pesquisei e não achei o que queria. Portanto, na apostila dele está assim:
“String label_radio_button= grupo.getSelection().getActionCommand;
-obtém o ButtonModeldo RadioButtonativo no grupo de botões
-selecionadoButtonModelgrupo.getSelection()
-obtém o labelque foi previamente associado ao específico RadioButtonatravés
do ButtonModel
?String label_radio_button = selecionadoButtonModel.getActionCommand()”
Ok… é sempre assim, ele não dá algum exemplo, só dá os comandos e nem sempre dá todos e explica suficientemente o que fazem.
Bom, essa aí é a parte que não entendi. Esse label_radio_button é o label do radio button? Por quê? O que é o getSelection().getActionCommand;?
Preciso de um label “Estado Civil” e então os radio buttons “Solteiro”, “Casado” e “Divorciado”.
Eu já fiz os seguintes passos:
- criei um painel para agrupar graficamente os botões de radio
- criei cada um dos botões de radio
- adicionei cada botão de radio no painel
- criei um grupo de botões de radio
- associei cada botão de radio no grupo
Agora falta associar o tratador do evento para cada botão de radio. Acontece que meu tratador de eventos é um ActionListener que implementa actionPerformed, onde trato os botões. Sendo que o tratador de eventos do radiobutton é um ItemListener que implementa um ItemStateChanged… OK. mas como faço pra associar o tratador de eventos para cada botão de radio e como eu faço esse tratador de eventos? O que terá no meu tratador de eventos e o que terá no meu método Inserir (da classe Controle)??
Por exemplo, com o checkbox consegui fazer do modo que deveria, assim:
public static void inserirAluno(Aluno alu, int RA)
{//faz uma busca pelo RA, se nao existir adiciona o novo aluno...
// for(Aluno aluno:Aluno.alunos)
{
if(Aluno.buscaAluno(RA) == null)
{
System.out.println("PASSOU AQUI");
if (JanelaCadastroAluno.checkBox.isSelected())
{
alu.setTemBolsa(true);
}
else
{
alu.setTemBolsa(false);
}
//JanelaCadastroAluno.comboBox.addItem(a);//
Aluno.addAluno(alu);
//janela.mostraErro("Aluno adicionado!");
}
else
{
//System.out.println("ERRO CARAMBA");
JOptionPane.showMessageDialog(null, "Aluno com este RA já foi adicionado!");
//janela.mostraErro("Aluno ja existente na base, por isso nao adicionado!");
}
Mas tudo na classe Controle o que eu também não sei se está certo, se deveria estar na classe interfaces.
Logo abaixo no método de consultar, fiz:
para quando eu consultar, saber se o aluno tem bolsa de estudos ou não.
Com o Radiobutton eu devo inserir no vetor de Aluno ttambém, assim como no checkbox, portanto…
O que terá no meu tratador de eventos? Como associarei ele ao grupo de botões de radio? O que terá no meu método Inserir? E no meu método Consultar? O label do radio button é feito como e como é associado ao grupo de radio buttons?