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

 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

Rodrigo Matos

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar