Setar um resultado em uma uma coluna da JTable através de uma condição if/else
25/11/2022
0
Olá colegas,
Desenvolvi um sistema simples de boletim escolar. Conforme os dados são inseridos nas textfields ao clicar no botão Resultado, deverá mostrar em uma JTable. O problema é que a última coluna (resultado) da JTable tem que estar dentro de uma condição if/else para setar se o aluno está "aprovado", "em recuperação" ou "reprovado conforme a condição". Estou com dificuldades em descobrir qual é o método correto que seta este resultado de forma dinâmica. Segue o código
Conforme o código, o sistema funciona somente para a primeira linha, porque está setando de forma estática, obtendo os valores do índice e coluna, qual seria o método para setar o valor de forma dinâmica do índice e coluna?
Desenvolvi um sistema simples de boletim escolar. Conforme os dados são inseridos nas textfields ao clicar no botão Resultado, deverá mostrar em uma JTable. O problema é que a última coluna (resultado) da JTable tem que estar dentro de uma condição if/else para setar se o aluno está "aprovado", "em recuperação" ou "reprovado conforme a condição". Estou com dificuldades em descobrir qual é o método correto que seta este resultado de forma dinâmica. Segue o código
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) { String aluno = txtAluno.getText(); String selecionado = cmbDisciplinas.getSelectedItem().toString(); String resultado = ""; int qtdeFaltas = Integer.parseInt(txtQtdeFaltas.getText()); double n1 = Double.parseDouble(txtN1.getText()); double n2 = Double.parseDouble(txtN2.getText()); int cargaHor = Integer.parseInt(jlCargaHor.getText()); double media = (n1 + n2) / 2; Object[] dadosInseridos = new Object[]{ aluno, //indice 0 media, //indice 1 selecionado, //índice 2 qtdeFaltas, //índice 3 resultado //índice 4 }; //Criar uma variável do tipo DefautTableModel, //para obter os dados do modelo da tabela e converter DefaultTableModel tabelaProduto = (DefaultTableModel) tblBoletim.getModel(); //Mostra os dados na tabela tabelaProduto.addRow(dadosInseridos); double freq = (cargaHor * 25) / 100; if ((media >= 6) && (qtdeFaltas < freq)) { resultado = "Aprovado"; tblBoletim.setValueAt(resultado, 0, 4); } else if ((media < 6) && (qtdeFaltas <= freq)) { resultado = "Em Recuperação!"; } else { resultado = "Reprovado!"; } }
Conforme o código, o sistema funciona somente para a primeira linha, porque está setando de forma estática, obtendo os valores do índice e coluna, qual seria o método para setar o valor de forma dinâmica do índice e coluna?
Rodrigo Matos
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)