Oi Pessol, eu estou iniciando agora em Java, e estou tentando colocar o resultado de uma consulta em um JTable, só q eu não estou conseguindo, já mandaram eu definir um modelo p/ a tabela só q agora está dando o seguinte erro:“Exception occurred during event dispatching: java.lang.IllegalArgumentException: setDataVector() - Null parameter”, quem pode me ajudar, a seguir está o código do programa:
CÓDIGO:
package sgpe;
import java.awt.<em>;
import java.awt.event.</em>;
import javax.swing.<em>;
import com.borland.dbswing.</em>;
import java.sql.<em>;
import com.borland.dx.sql.dataset.</em>;
import com.borland.dx.dataset.<em>;
import java.sql.</em>;
import javax.swing.table.DefaultTableModel;
public class ConAluno extends JFrame {
JPanel contentPane;
JButton btConsultar = new JButton();
JLabel jLabel1 = new JLabel();
JTextField tfNome = new JTextField();
private JButton btFechar = new JButton();
String[] colunas = new String []{“Matricula”,“Nome”,“Telefone”,“Celular”,“E-mail”};//
String dados[][];
JScrollPane jScrollPane1 = new JScrollPane();
//JTable jTable1 = new JTable(dados,colunas);
DefaultTableModel modelo = new DefaultTableModel(dados, colunas); //erro
JTable jTable1 = new JTable(modelo);
/*<em>Construct the frame</em>/
public ConAluno() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/*<em>Component initialization</em>/
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(LocAluno.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
this.setSize(new Dimension(510, 315));
this.setTitle(“Consultar Aluno”);
btConsultar.setText(“Consultar”);
btConsultar.setBounds(new Rectangle(388, 15, 96, 27));
btConsultar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
btConsultar_actionPerformed(e);
}
});
jLabel1.setText("Nome: ");
jLabel1.setBounds(new Rectangle(29, 26, 57, 17));
tfNome.setBounds(new Rectangle(80, 20, 284, 21));
btFechar.setText(“Fechar”);
btFechar.setBounds(new Rectangle(212, 254, 79, 27));
btFechar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
btFechar_actionPerformed(e);
}
});
jScrollPane1.setBounds(new Rectangle(28, 50, 453, 189));
contentPane.add(jLabel1, null);
contentPane.add(tfNome, null);
contentPane.add(btConsultar, null);
//
contentPane.add(jScrollPane1, null);
contentPane.add(btFechar, null);
jScrollPane1.getViewport().add(jTable1, null);
}
/*<em>Overridden so we can exit when window is closed</em>/
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
<a href="//System.exit">//System.exit</a>(0);
}
}
void btConsultar_actionPerformed(ActionEvent e) {
//Consulta os alunos q atendem ao parametro dado
try{
Statement s = Conexao.getConnection().createStatement();
//String sql = “select * from aluno where nome_aluno like '” + adto.getNome()+ “*’”;
String sql = “select * from aluno where nome_aluno like ‘Jacyara’”;
ResultSet rs = s.executeQuery(sql);
//dados = new String [2][5];
//int lin = 0;
//
DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
while (rs.next()){
/<em>dados[lin][0] = rs.getString(“mat_aluno”);
dados[lin][1] = rs.getString(“nome_aluno”);
dados[lin][2] = rs.getString(“fone_aluno”);
dados[lin][3] = rs.getString(“cel_aluno”);
dados[lin][4] = rs.getString(“email_aluno”);
++lin;</em>/
modelo.addColumn(rs.getString(“mat_aluno”));
modelo.addColumn(rs.getString(“nome_aluno”));
modelo.addColumn(rs.getString(“fone_aluno”));
modelo.addColumn(rs.getString(“cel_aluno”));
modelo.addColumn(rs.getString(“email_aluno”));
//
}
}
catch (SQLException ex) {
new MessageDialog(this,"Erro no acesso ao Banco de Dados "+
ex.getMessage(),true).setVisible(true);
}
catch (ClassNotFoundException ex) {
new MessageDialog(this,"Driver não encontrado "+
ex.getMessage(),true).setVisible(true);
}
}
void btFechar_actionPerformed(ActionEvent e) {
dispose();
}
}
Grata desde já,