Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

Archivo del blog

miércoles, 24 de marzo de 2010

Uso de tablas JTable. Crear, añadir y modificar.

Código Java (Main.java):

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class Main extends JFrame {

    public Main() {

        String[] columnNames = {"Nombre", "Años", "Apto",};
        Object[][] datos = {
            {"Juan", 25, false},
            {"Sonia", 33, true},
            {"Pedro", 42, false}};

        DefaultTableModel dtm = new DefaultTableModel(datos, columnNames);
        final JTable table = new JTable(dtm);

        // Agregar nueva columna
        String[] columnaNueva1 = {"vago", "diestro", "normal",};
        dtm.addColumn("Tipo", columnaNueva1);

        // Agregar nueva fila
        Object[] newRow = {"Maria", 55, false};
        dtm.addRow(newRow);

        // Modificar celda especifica
        dtm.setValueAt("XXX", 3, 3); // Row/Col

        table.setPreferredScrollableViewportSize(new Dimension(250, 100));
        JScrollPane scrollPane = new JScrollPane(table);
        getContentPane().add(scrollPane, BorderLayout.CENTER);       
        addWindowListener(new WindowAdapter() {           
            public void windowClosing(WindowEvent e) {
                System.exit(0);               
            }
        });
       
    }

    public static void main(String[] args) {
        Main frame = new Main();
        frame.pack();
        frame.setVisible(true);
    }
   
}



Resultado:












18 comentarios:

  1. Muy bueno a mi me sirvio de mucho

    ResponderEliminar
    Respuestas
    1. por favor ayudenmee!!! necesito mostrar en la tabla una consulta que hago al insertar una patente de auto en el texfield, que me la muestre en la jtable.... como lo hago?

      Eliminar
    2. tu gfa a mi no me sirvio

      Eliminar
  2. ¿Como modificar el nombre de tus columnas, pero sin utilizar ningún vector?

    ResponderEliminar
  3. Una forma de hacerlo (no se si existan más formas :D ) se hace de la siguiente manera:

    Lo primero que tenemos que hacer es obtener el header utilizado por la tabla, luego el modelo y por último la columna pasándole como argumento el numero de la misma.

    JTableHeader th=jTable1.getTableHeader();
    TableColumnModel tcm=th.getColumnModel();
    TableColumn tc=tcm.getColumn(0);
    tc.setHeaderValue("Nueva Cadena");
    th.repaint();


    Fuente: http://miuniversodigital.com/2012/01/como-cambiar-los-nombres-de-las-columnas-en-un-jtable/

    a esto le puedo agregar que después de llamar al método repaint no deberías llamar al método setColumnCount del modelo de la tabla porque los nombres de las columnas vuelven como estaban inicialmente.

    ResponderEliminar
  4. Cómo hago para mover el JTable a determinado lugar?

    ResponderEliminar
  5. quie me ayuda . empiezo a programar en java y no se nada:
    facebook; LeGianna

    ResponderEliminar
  6. como puedo agregar mas de una tabla ayudenme porfavor soy nuevo en esto

    ResponderEliminar
  7. como puedo poner mas de una tabla porfa manden codigo esque nose nada de programacion apenas estoy comenzando

    ResponderEliminar
  8. ¿Cómo hacer para que el usuario edite los nombres de las columnas a su gusto? ¡¡AYUDA, POR FAVOR!!

    ResponderEliminar
  9. me podrían ayudar a organizar las tablas de menor a mayor cuando utilizo id

    ResponderEliminar
  10. me podrían ayudar a organizar las tablas de menor a mayor cuando utilizo id

    ResponderEliminar
  11. como podria repetir varias veces una misma tabla

    ResponderEliminar
  12. gracias pa dios te bendiga espero que sigas vivo saludos desde el futuro 2021

    ResponderEliminar

Con la tecnología de Blogger.