JTable no muestra los nombres de cada una de las columnas

Iniciado por MC.cover, 3 Octubre 2015, 03:53 AM

0 Miembros y 1 Visitante están viendo este tema.

MC.cover

Hola tengo un pequeño problema con un JTable la cosa es que lleno cada casillero del JTable pero no se ponen los nombres de las columnas me gustaría si me pudieran ayudar desde ta muchas gracias :) les dejo el código fuente de la clase donde esta el JTable.

PD:cabe resaltar que es con peticion a una base de datos de mysql.

CODIGO:

package entrega3;

import java.sql.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.*;


public class Mostrar extends JFrame{

public Mostrar(){
      
      setLayout(null);
      
      setTitle("Bienvenido a mostrar");
      
      setResizable(false);
      
      setIconImage(new ImageIcon(getClass().getResource("/Imagenes/icono.jpg")).getImage());
      
      ((JPanel)getContentPane()).setOpaque(false);
      ImageIcon uno=new ImageIcon(this.getClass().getResource("/imagenes/fondo.jpg"));
      JLabel fondo=new JLabel();
      fondo.setIcon(uno);
      getLayeredPane().add(fondo,JLayeredPane.FRAME_CONTENT_LAYER);
      fondo.setBounds(0,0,450,350);
               
               
                try{//codigo que es probable que ocurra algun tipo de error
                    Class.forName("com.mysql.jdbc.Driver");//importacion del driver
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost/proyecto?user=root&password=");//en donde se hubuica la base de datos y usuario y pass paraacceder
            Statement stm =con.createStatement();//crear objeto statement
                                ResultSet rs =stm.executeQuery("select * from libros");//peticion a la base y asociasion a el result set delresultado de la peticion
                               
                                ResultSetMetaData metaDatos = rs.getMetaData();//result set para los metadatos de la consulta a la base de datos
                               
                                DefaultTableModel modelo=new DefaultTableModel();//crear el modelo de la tabla
                               
                                int numeroColumnas=metaDatos.getColumnCount();//guarda la cantidad de columnas devueltas por el result set de los meta datos
                               
                                Object[] etiquetas=new Object[numeroColumnas];//creo un array para los titulos de las columnas
                               
                                for (int i=0; i<numeroColumnas;i++){//recorre el array
                                   
                                   etiquetas=metaDatos.getColumnLabel(i+1);//asocia en el array los nombres en orden de las colmnas de la tabla
                                   
                                }

                                modelo.setColumnIdentifiers(etiquetas);//pone al modelo de ta tabla los identificadores puestos en el array etiquetas
                               
                                while(rs.next()){//bucle para los resultados del resultset
                                   
                                    Object [] fila = new Object[numeroColumnas];//crea un array para cada una de las filas
                                   
                                    for (int i=0;i<numeroColumnas;i++){//recorrer el array y llenarlo
                                       
                                        fila = rs.getObject(i+1);  //pone en cada pocision del array los datosdevueltos por el result set
                               
                                    }
                                   
                                    modelo.addRow(fila);//coloca una fila nueva con los datos devueltos del resultset
                               
                                }
                               
                                JTable tabla = new JTable(modelo);//crea la tabla y le asocia el modelo de la tabla
                                tabla.setBounds(10,10,425,300);//pocisionamiento y tamaño de la tabla
                               
                                add(tabla);//coloca la tabla
                               
                }catch(ClassNotFoundException|SQLException e){//control de excepciones
                   JOptionPane.showMessageDialog(null,"Error en la peticion a la base de datos","Error",JOptionPane.WARNING_MESSAGE);//que hacer en caso de una excepcion
                }
               
   }
}

DeMoNcRaZy

¿Podría usar etiquetas GeSHi para un código más elegible?

¿Te especifica algún error a la hora de compilar y/u ejecutar dicho programa?

Saludos.
Esta página web no está disponible - Google Chrome

MC.cover

Cita de: YuseTist en  4 Octubre 2015, 20:40 PM
¿Podría usar etiquetas GeSHi para un código más elegible?

¿Te especifica algún error a la hora de compilar y/u ejecutar dicho programa?

Saludos.

No ningun error.Hace todo lo mas bien , no me notifica errores me rellena cada fila del JTable pero no pone los nombres de las columnas . Te paso un link con la imagen de lo que pasa cuando ejecuto el programa :http://k30.kn3.net/F/9/B/2/B/5/300.png

Gracias :)

LaThortilla (Effort)

#3
Intenta esto:

Código (java) [Seleccionar]
JScrollPane sc = new JScrollPane(TuTabla);

TuVentana.add(sc);


Eso funcionara...

USA ETIQUETAS GESHUI