Olá pessoal, eu tenho uma tabela que exibe os alunos cadastrados no banco, e quero selecionar um aluno da tabela e informar que ele não fez aula teorica, como faço isso?
private void atualizar() {
if(nao.isSelected()){
aluno.setJaFezAulaTeorica(false);
}else{
aluno.setJaFezAulaTeorica(true);
}
try {
alunoDAO.atualizarAlunoPorAula(aluno);
} catch (SQLException ex) {
Logger.getLogger(Controledealunos.class.getName()).log(Level.SEVERE, null, ex);
}
}
tenta usar o evento MouseClicked
private void jTableMouseClicked(java.awt.event.MouseEvent evt) {
if (!jTable.getRowSelectionAllowed()) {
JOptionPane.showMessageDialog(null, "Erro ao selecionar dados da tabela!");
} else {
//aqui voce pega o codigo do aluno na posição da linha selecionada e coluna 0 (que geralmente fica a coluna do codigo)
int cod_aluno = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
//seta o codigo...
a.setCodAluno(cod_aluno);
//chama o metodo que irá trazer os dados do aluno selecionado
AlunoDAO.getDadosAluno(a);
//crie um metodo para carregar os seus jTextFields com os dados do aluno que voce clicou
preencherjTextFields();
}
}
após isso voce atualiza os dados dele e depois passa atraves do seu método e persiste no banco.
public void atualizarAlunoPorAula( Aluno aluno) throws SQLException {
String sql = "UPDATE aluno SET jafezaulateorica=?";
PreparedStatement smt = conexao.pegarConexao().prepareStatement(sql);
smt.setBoolean(1, aluno.getJaFezAulaTeorica());
smt.execute();
smt.close();
}
criei este metodo para o usuario informar se o aluno fez ou não a aula teorica.
e não tenho nenhum parametro do tipo inteiro nesse metodo, por isso tenho dificuldades para pegar o valor da linha selecionada na tabela.
esse metodo in
sua aplicação é web ou desktop? coloque o código completo da classe.
algumas dicas:
[code]private void atualizar() {
if (nao.isSelected()) {
aluno.setJaFezAulaTeorica(false);
} else {
aluno.setJaFezAulaTeorica(true);
}
try {
alunoDAO.atualizarAlunoPorAula(aluno);
} catch (SQLException ex) {
Logger.getLogger(Controledealunos.class.getName()).log(Level.SEVERE, null, ex);
}
}[/code]
if (nao.isSelected()) {
aluno.setJaFezAulaTeorica(false);
} else {
aluno.setJaFezAulaTeorica(true);
}
você pode fazer assim:
aluno.setJaFezAulaTeorica(!nao.isSelected());
É desktop
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* Controledealunos.java
*
* Created on 10/06/2009, 11:04:43
*/
package autoescola.interfaceusuario;
import autoescola.bancosdedados.AlunoDAO;
import autoescola.modelo.Aluno;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Administrador
*/
public class Controledealunos extends javax.swing.JFrame {
AlunoDAO alunoDAO = new AlunoDAO();
Aluno aluno = new Aluno();
/** Creates new form Controledealunos */
public Controledealunos() {
initComponents();
ImageIcon icone = new ImageIcon("carro.jpg");
setIconImage(icone.getImage());
setVisible(true);
setLocationRelativeTo(null);
}
private void atualizar() {
aluno.setJaFezAulaTeorica(!nao.isSelected());
try {
alunoDAO.atualizarAlunoPorAula(aluno);
} catch (SQLException ex) {
Logger.getLogger(Controledealunos.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void atualizarTabela() {
try {
ArrayList<Aluno> alunos = alunoDAO.buscarTodosAlunos();
String[] colunas = new String[]{"Nome", "Codigo"};
Object[][] dados = new Object[alunos.size()][2];
for (int i = 0; i < alunos.size(); i++) {
Aluno aluno = alunos.get(i);
dados[i][0] = aluno.getNome();
dados[i][1] = aluno.getCodigo();
}
DefaultTableModel dataModel = new DefaultTableModel(dados, colunas);
Tabela.setModel(dataModel);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Erro " + ex.getMessage());
}
Tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
private void excluir() {
int linha = Tabela.getSelectedRow();
if (linha != -1) {
Aluno aluno = new Aluno();
aluno.setCodigo((Integer) Tabela.getValueAt(linha, 1));
try {
alunoDAO.excluir(aluno);
} catch (SQLException ex) {
ex.printStackTrace();
}
atualizarTabela();
}
}
private void TabelaAncestorAdded(javax.swing.event.AncestorEvent evt) {
// TODO add your handling code here:
atualizarTabela();
}
private void ExcluirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
excluir();
}
private void sairActionPerformed(java.awt.event.ActionEvent evt) {
setVisible(false);
}
private void BInserirActionPerformed(java.awt.event.ActionEvent evt) {
atualizar();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Controledealunos().setVisible(true);
}
});
}
}