Olá, essa é uma dúvida bem simples e não sei nem se a pergunta ficou correta, vou explicar o que to querendo fazer e exibir o código para tornar mais claro para uma ajuda.
então, eu to querendo criar uma JTable que sera povoada com os dados de um jdbc, fiz de um jeito que deu certo, mas to usando esse outro modo agora e to me batendo um pouco ainda com uma questão simples:
aqui vai o código do rdb.java:
[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
public class rdb {
// Connect to the Database
public class UserDatabase{
public Connection conectadb() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
String user = "usuario";
String pswd = "password";
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/" + user;
Class.forName(driver);
Connection con = DriverManager.getConnection(url, user, pswd);
Class.forName("com.mysql.jdbc.Driver").newInstance();
return con;
}
public UserDatabase() throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
Vector columnNames = new Vector();
Vector data = new Vector();
// Read data from a table
String sql = "SELECT * FROM catcds";
Statement stmt = conectadb().createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int columns = rsmd.getColumnCount();
// Get column names
for (int i = 1; i <= columns; i++) {
columnNames.addElement(rsmd.getColumnName(i));
}
// Get row data
while (rs.next()) {
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++) {
row.addElement(rs.getObject(i));
}
data.addElement(row);
}
rs.close();
stmt.close();
}
}
}
[/code]
esse código está salvo em um arquivo chamado rdb.java (uma classe que implementei no projeto pelo eclipse, nada demais…)
agora, na class onde se encontra a classe main que dá a chamada para o programa eu preciso declarar o JTable assim:
private JTable getJTable_Lista() {
if (jTable_Lista == null) {
jTable_Lista = new JTable(data, columnNames);
}
return jTable_Lista;
Ai que tá o problema, ele não reconhece “data, columnNames” que está no arquivo rdb.java… eu sei que isso é bem básico e já fiz muitas tentativas aqui, tentei usar o super(); antes do código etc, mas o super até onde sei é para usar algo que provem de um “extends” correto? então como eu poderia fazer para criar essa JTable com esses parametros?