Estou tentando novamente, mas estou com muita dificuldade!
Não esta aparecendo a table com os dados do Banco!
[size=24]
CODIGO COMPLETO ABAIXO![/size]
Anexei o projeto!
Estou tentando novamente, mas estou com muita dificuldade!
Não esta aparecendo a table com os dados do Banco!
[size=24]
CODIGO COMPLETO ABAIXO![/size]
Anexei o projeto!
Quando postar código, favor usar a tag [code]
Ok!
posta tb qual erro esta dando e em qual linha, assim fica complicado. se possivel poste tb a parte relevante do stack trace
Yuri ja criei a table model,DAO, agora estou com dificuldade de criar modelTest com JFrame, pois quando executo não aparece os dados do BD!
Como faço um Jframe, sendo que o comando Sql fica DAO?
Database com var nome,genero, ja colcoquei os valores com inserts, mas não aparace esses valores na table!
aparentemente falta vc setar o seu table model na sua JTable. use o metodo setModel da JTable, se isso n funcionar (ou se vc ja tiver feito isso e eu n vi) coloca o stack trace do erro.
Yuri ,estou quase conseguindo!
aparece as duas colunas no caso Nome e Genero!
Mas não aparece, os dados de tem no Banco de dados!
Acho que o problema seja com a conexão, o problema é a onde!?
Estou tentando novamente, mas estou com muita dificuldade!
Não esta aparecendo a table com os dados do Banco!
[size=18]
Codigo completo![/size]
[code]----------------------------CLASSE INICIAL LIVROS-----------------------------------------------------
public class Livros {
private String nome;
private String genero;
}
//com sets e gets
--------------------------------------------classe LivroDAO ------------------------------------------------------------------
package DAO;
import Inicial.Livros;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class LivroDAO {
private Connection conn;
public LivroDAO(){
this.conn = new ConexaoBD().getConnection();
}
public List<Livros> Lsta() throws SQLException{
List<Livros> bok = new ArrayList<Livros>();
String sql = " select * from livros";
try {
PreparedStatement stmt = this.conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while (rs.next()){
Livros book = new Livros();
book.setNome(rs.getString("nome"));
book.setGenero(rs.getString("genero"));
}
rs.close();
stmt.close();
} catch ( Error e ){
throw new RuntimeException(e);
}
return bok;
}
}
--------------------------------------------------------class ConexaoBD-----------------------------------------------------------------
package DAO;
import java.sql.*;
public class ConexaoBD {
private static final String URL_MYSQL = “jdbc:mysql://localhost/loja”;
private static final String DRIVER_CLASS_MYSQL = “com.mysql.jdbc.Driver”;
private static final String USER = “root”;
private static final String PASS = “”;
public static Connection getConnection() {
System.out.println("Conectando ao Banco de Dados");
try {
Class.forName(DRIVER_CLASS_MYSQL);
return DriverManager.getConnection(URL_MYSQL, USER, PASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static void close(Connection conn, PreparedStatement stmt, ResultSet rs) {
try {
if (conn!= null) {
conn.close();
}
if (stmt!= null) {
stmt.close();
}
if (rs!= null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
--------------------------------------------------class LivroModel---------------------------------------------------------------
package Inicial;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.swing.table.AbstractTableModel;
public class LivroModel extends AbstractTableModel{
private final int COL_NOME = 0;
private final int COL_GEN = 1;
private List linhas;
private String[] colunas = new String[]{“Nome”,“Genero”};
public LivroModel(){
linhas = new ArrayList();
}
public LivroModel(Collection listaDeLivros){
this.linhas = new ArrayList(listaDeLivros);
}
public void setLinhas(List linhas){
this.linhas = linhas;
}
@Override
public int getRowCount() {
return linhas.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public String getColumnName(int columnIndex) {
if(columnIndex == COL_NOME){
return “Nome”;
}if (columnIndex == COL_GEN){
return “Genero”;
}
return colunas[columnIndex];
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Livros livro = linhas.get(rowIndex);
switch (columnIndex){
case 0:
return livro.getNome();
case 1:
return livro.getGenero();
default:
throw new IndexOutOfBoundsException(“columnIndex out of bounds”);
}
}
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {};
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
public Livros getLivro(int indiceLinha){
return linhas.get(indiceLinha);
}
public void addLivro(Livros liv){
linhas.add(liv);
int ultimoIndice = getRowCount()- 1;
fireTableRowsInserted(ultimoIndice, ultimoIndice);
}
public void removeSocio(int indiceLinha) {
linhas.remove(indiceLinha);
fireTableRowsDeleted(indiceLinha, indiceLinha);
}
public void addListaDeSocios(List<Livros> livro) {
int tamanhoAntigo = getRowCount();
linhas.addAll(livro);
fireTableRowsInserted(tamanhoAntigo, getRowCount() - 1);
}
public void limpar() {
linhas.clear();
fireTableDataChanged();
}
public boolean isEmpty() {
return linhas.isEmpty();
}
}
-----------------------------------------------CLASSE LIVROTESTE----------------------------------------------------------------------
package Inicial;
import java.awt.BorderLayout;
import java.util.List;
import javax.swing.JFrame;
public class LivroTest extends javax.swing.JFrame {
public List livrosLis;
private static LivroModel mod;
LivroModel model = new LivroModel();
public LivroTest() {
try{
// super(“Teste”);
initComponents();
model = new LivroModel();
jTable1.setModel(model);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}catch (Exception e){
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(15, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(14, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(LivroTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(LivroTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(LivroTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(LivroTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LivroTest().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}[/code]
agora vc setou o modelo mas n colocou nenhum Livro nela cara, ou vc passa uma Collection de Livro na hora de instanciar ou vc usa o seu metodo setLinhas… isso é código que você mesmo escreveu cara (deveria ser) tenta se esforçar mais, como vc espera que sejam exibidas as informações se vc n está enviando nenhuma? se alguem te passou esse código vc n deveria estar usando sem antes ter entendido 100% e pelas perguntas fica bem claro que você não entende o que nada disso faz. Para seu próprio bem, não faça isso. E se fosse em um emprego onde sua imagem está em jogo e vc n sabe o q o código ta fazendo? se vier pedir ajuda no forum tem sempre a chance de ninguem te ajudar, pense nisso cara… vale mesmo a pena colocar o codigo pra funcionar agora se da proxima vez que você passar pelo mesmo problema vai ser o mesmo sufoco?
Obrigado Yuri, esse assunto é muito complicado mesmo!