Passagem de parâmetros de Jtable para JRadiobutton

6 respostas
W

Olá…

Estou com um probleminha: tenho um ButtonGroup com 3 radioButton cada, quando vou inserir os dados em uma tabela armazeno em uma varialvel os dados do radioButton, dai eu faço em outro frame uma consulta desses dados, o problema está na hora de retornar os dados da consulta para o radiobutton.

Tem como fazer esse retorno?

segue o codigo abaixo:

Botão inclui

if (jRBotimo.isSelected()){ avalia = "Ótimo"; }else if (jRBbom.isSelected()){ avalia = "Bom"; }else if (jRBregular.isSelected()){ avalia = "Regular"; } String incluirSQL ="INSERT INTO pedido(aluno,serie,turma,turno,escola,motivo,idprof,avaliacao)" + "VALUES( " + "'" + nomeAluno.getText() + "'," + "'" + serie.getSelectedItem().toString() + "'," + "'" + turma.getSelectedItem().toString() + "'," + "'" + turno.getSelectedItem().toString() + "'," + "'" + escola.getText() + "'," + "'" + Integer.parseInt("" + codProf.getText()) + "'," + "'" + avalia + "')"; try{ dados.operacaoDados( incluirSQL ); JOptionPane.showMessageDialog(null, "Inclusão do dados foi realizada com sucesso"); limpaDados(); }catch(SQLException ex){ System.out.println(ex.getMessage());}

botão chama tela de consulta

Grato pela ajuda…

6 Respostas

raci0nal

Na consulta:

jRBotimo.setSelected(avalia.equals("Ótimo")); jRBbom.setSelected(avalia.equals("Bom")); jRBregular.setSelected(avalia.equals("Regular"));
Abraços,
Marcos Antonio Campos Jordão’’

W

Na consulta:
view plaincopy to clipboardprint?

  1. jRBotimo.setSelected(avalia.equals(“Ótimo”));
  2. jRBbom.setSelected(avalia.equals(“Bom”));
  3. jRBregular.setSelected(avalia.equals(“Regular”));

jRBotimo.setSelected(avalia.equals(“Ótimo”)); jRBbom.setSelected(avalia.equals(“Bom”)); jRBregular.setSelected(avalia.equals(“Regular”));
Abraços,
Marcos Antonio Campos Jordão’’

Caro amigo!

continuo com dúvidas, pois eu tenho uma tela principal onde fica os botões de inclusão …, e o que chama a tela de consulta. na tela de consulta eu faço toda a programção SQL e retorno dos dados. o que eu quero é que aparece na tela principal o item selecionado do buttongroup correspondente a varial “avalia” que já está armazenado no BD. uso a IDE Netbeans 6.0.

abraços
Wlademir

raci0nal

Então você quer chamar uma tela de consulta e depois de selecionado um item os dados sejam jogados para a tela Principal, é isso?
Nesse caso, creio que a sua tela “Consulta” deva ser um JDialog chamado com setModal(true).
Na classe de Consulta existiriam atributos que pudessem ser acessados publicamente (utilize getters).
Aí após o “consulta.setVisible(true)” da sua tela Principal, você pega os valores dela, tipo assim:

jRBotimo.setSelected(consulta.getAvalia().equals("Ótimo")); jRBbom.setSelected(consulta.getAvalia().equals("Bom")); jRBregular.setSelected(consulta.getAvalia().equals("Regular"));
Deu para entender? Qualquer dúvida, escreva…

Dica adicional: utilize Enumerations para controlar os resultados de avaliação. Seu código fica melhor.

W

Olá Marcos!

ainda estou com dúvidas esse método getAvilia o que seria?

pois eu tenho duas telas, a tela principal a tela de Consulta que é um JDialog que tem como construtor os parâmetros

public Consulta(OperaBD dados, JTextField codAluno, JTextField nomeAluno, JComboBox serie, JComboBox turma, JComboBox turno, JTextField escola, String avalia)

no botão no evento do botão do jTable1MouseClicked da tela de Consulta eu faço com que os dados da tabela passam seus valores através dos parâmetros do construtor acima que vai para tela princiapal.

o codigo do evento jTable1MouseClicked

if( evt.getClickCount() == 1 ){ codAluno.setText( jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString() ); nomeAluno.setText( jTable1.getValueAt(jTable1.getSelectedRow(), 1).toString() ); serie.setSelectedItem( jTable1.getValueAt(jTable1.getSelectedRow(), 2).toString() ); turma.setSelectedItem( jTable1.getValueAt(jTable1.getSelectedRow(), 3).toString() ); turno.setSelectedItem( jTable1.getValueAt(jTable1.getSelectedRow(), 4).toString() ); escola.setText( jTable1.getValueAt(jTable1.getSelectedRow(), 5).toString() ); avalia = (jTable1.getValueAt(jTable1.getSelectedRow(), 6).toString() ) ; this.setVisible(false); }

dai que vem o problema em questão verificar o conteúdo da variável “avalia” e selecionar o radiobutton correspondente ao conteúdo da variável.

Consegui melhorar as explicações do meu problema?

forte abraço!

raci0nal

Vamos ver se entendi agora…
A sua tela Consulta recebe como parâmetros as referências para os campos da tela Principal, é isso?
Bom, nesse caso você terá que passar como parâmetro também os 3 JRadioButton e setá-los como mencionei na primeira resposta.

Mas convenhamos que esta estrutura não é nada elegante, não? O ideal seria você ter uma referência à tela de Consulta na sua tela Principal, a tela de Consulta armazenaria seu estado e a tela Principal o consultaria depois que esta fosse fechada (JDialog modal).
Ahh e para começar, transformar isso em uma Entidade para não ter que ficar sempre passando todos os campos.

W

Obrigado por todas as dicas, agora deu certo, está funcionando.

Concordo com você que a estrutura não elegante mas foi assim que eu aprendi,
se você quiser me mostrar outra forma fico grato.

abrços
wlademir.

Criado 27 de outubro de 2009
Ultima resposta 29 de out. de 2009
Respostas 6
Participantes 2