Pessoal sou iniciante em Java e estou com problemas para trabalhar com a JTable, não consigo utilizar o modelo usando ResultSetTableModel ou DefaultTableModel, da o seguinte erro: ResultSetTableModel cannot be resolved to a type.
ja tentei vários códigos, esse é o código do livro core java, ja testei códigos do livro do Deitel tbm, estou fazendo tudo certinho, o que pode estar dando errado?
help me please!
import java.sql.*;
import javax.swing.*;
import javax.swing.table.AbstractTableModel.*;
public class ResultSetTableDemo extends JFrame {
private JTable grid_demo;
private JScrollPane scrollPane;
public ResultSetTableDemo() {
this.setTitle("Tabela com banco de dados");
this.setSize(300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
grid_demo = new JTable();
scrollPane = new JScrollPane(grid_demo);
this.getContentPane().add(scrollPane, "Center");
this.pack();
}
public ResultSet consultar(String sql) {
ResultSet resultado = null;
try {
//Carregar o driver JDBC para PostGresql
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Criando um conexao com schema contatos
Connection c =
DriverManager.getConnection(
"jdbc:postgresql:java",
"postgres",
"");
//execurtar consulta
Statement consulta = c.createStatement();
resultado = consulta.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
return resultado;
}
public static void main(String[] args) {
ResultSetTableModel modelo = null;
ResultSet rs = null;
Connection con = null;
Statement stmt = null;
ResultSetTableDemo frame = new ResultSetTableDemo();
String query =
"SELECT nome, cidade.descricao as cidade,"
+ " bairro.descricao as bairro, uf"
+ " FROM pessoa, bairro, cidade"
+ " WHERE pessoa.cod_cidade = cidade.cod_cidade"
+ " AND pessoa.cod_bairro = bairro.cod_bairro";
rs = frame.consultar(query);
modelo = new ResultSetTableModel(rs);
frame.grid_demo.setModel(modelo);
TableColumn col;
col = frame.grid_demo.getColumnModel().getColumn(1);
col.setPreferredWidth(100);
col = frame.grid_demo.getColumnModel().getColumn(2);
col.setPreferredWidth(1000);
frame.setVisible(true);
}
}