Não exibe informação no JScrollPane

2 respostas
K

To fazendo um programa para apertar no botão pesquisa exibe uma tabela no JScrollPane como vi num vídeo que funcionou, nesse programa ta exibindo a informação do banco de dados atraves do System.out.print(id); …mas não mostra na tabela…por isso a consulta ta sendo realizada mas não exibe nada no JScrollPane…me ajudem

import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.sql.*; 


public class Pesquisar extends javax.swing.JFrame {

    private JTable tabela;
    private DefaultTableModel modelo = new DefaultTableModel();
    private static Connection connection;
    private static Statement statement;
    private static ResultSet resultSet;
   
    
    public Pesquisar() {
        setTitle("Pesquisar");
        criaJTablet();
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        n = new javax.swing.JLabel();
        nome = new javax.swing.JTextField();
        JScrollPane1 = new javax.swing.JScrollPane();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        n.setText("Nome:");

        JScrollPane1.addAncestorListener(new javax.swing.event.AncestorListener() {
            public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
            }
            public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
            }
            public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
                JScrollPane1AncestorAdded(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(n)
                        .addGap(18, 18, 18)
                        .addComponent(nome))
                    .addComponent(JScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 387, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(22, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap(26, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(n))
                .addGap(18, 18, 18)
                .addComponent(JScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 219, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(23, 23, 23))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void JScrollPane1AncestorAdded(javax.swing.event.AncestorEvent evt) {                                           
 
    }                                          
  
     private void criaJTablet()
    {
        tabela = new JTable(modelo);
        modelo.addColumn("ID");
        modelo.addColumn("Nome");
        tabela.getColumnModel().getColumn(0).setPreferredWidth(20);
        tabela.getColumnModel().getColumn(1).setPreferredWidth(120);
        pesquisarNomes("SELECT * FROM CADASTRO");
    }
    
    private void pesquisarNomes(String sql)
    {
         
         try
       {
        conectaBanco();
        resultSet = statement.executeQuery(sql); 
        
        resultSet.first();
        
        do
        {
            Object id = resultSet.getObject("id");
            Object name = resultSet.getObject("nome");
            modelo.addRow(new Object [] {id,name});
            System.out.print(id);
           
        }
         while(resultSet.next());
       
       }
       catch(SQLException | HeadlessException e)
       {
       System.out.println("Erro");
       }
    }
    
    public void conectaBanco()
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost/colaboradores","baserh","baserh");
            statement = connection.createStatement();
           
        }
        catch (ClassNotFoundException | SQLException e)
        {
            System.out.println("Erro");
        }
    }
    
    // Variables declaration - do not modify                     
    private javax.swing.JScrollPane JScrollPane1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel n;
    private javax.swing.JTextField nome;
    // End of variables declaration                   

    
}

2 Respostas

ErickRAR

A tabela fica em branco ou fica um código “esquisito” tipo object@2a93211…?

K

Fica em branco…o JScrollPane fica em branco não aparece nada…ta faltando um comando para abrir a tabela no JScrollPane

Criado 16 de novembro de 2013
Ultima resposta 16 de nov. de 2013
Respostas 2
Participantes 2