Pregunta JTable

Publicado en 'Programación' por celsoxvi, 12 Dic 2010.





  1. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72




    Bueno, quiero hacer algo Sencillo en Java.

    Quiero agregar por ejemplo 4 JTextField, Asi:

    Nombre
    Apellidos
    Direccion
    Telefono

    Bien, Ahora quiero agregar un Boton que diga Agregar.

    Ahora, con un JTable, Quiero que cada vez que le doy agregar se ponga esos Datos en las Filas y se inicie otra nueva Columna en Blanco, No tengo conocimiento muy avanzados, pero es Urgente, Espero que me puedan ayudar no quiero que lleve BD ni nada de JDBC.
     


  2. Tequila_Burp

    Tequila_Burp Miembro frecuente

    Registro:
    25 Oct 2010
    Mensajes:
    123
    Likes:
    7
    Código:
    import javax.swing.JTable;
    import javax.swing.JScrollPane;
    import javax.swing.JFrame;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.table.DefaultTableModel;
    public class Main extends JFrame {
         public Main() {
            super("JTable");
            JPanel panel1 = new JPanel();
     
            panel1.setLayout(new GridLayout( 4, 2 ));
     
            final JTextField field1 = new JTextField();
            final JTextField field2 = new JTextField();
            final JTextField field3 = new JTextField();
            final JTextField field4 = new JTextField();
     
            JLabel label1 = new JLabel();
            label1.setText("Nombre");
     
            JLabel label2 = new JLabel();
            label2.setText("Apellidos");
     
            JLabel label3 = new JLabel();
            label3.setText("Dirección");
     
            JLabel label4 = new JLabel();
            label4.setText("Telefono");
     
            panel1.add(label1);
            panel1.add(field1);
     
            panel1.add(label2);
            panel1.add(field2);
     
            panel1.add(label3);
            panel1.add(field3);
     
            panel1.add(label4);
            panel1.add(field4);
     
            final DefaultTableModel dtm = new DefaultTableModel();
            final JTable table = new JTable(dtm);
     
            dtm.addColumn("Nombre");
            dtm.addColumn("Apellidos");
            dtm.addColumn("Direccion");
            dtm.addColumn("Telefono");
     
            JScrollPane scrollPane = new JScrollPane(table);
            setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
     
            JButton btnAgregar = new JButton();
            btnAgregar.setText("Agregar");
     
            ActionListener listener = new ActionListener(){ 
                public void actionPerformed(ActionEvent e) { 
                    Object[] newRow={field1.getText(), field2.getText(),
                         field3.getText(), field4.getText() };
                    dtm.addRow(newRow);
                    field1.setText("");
                    field2.setText("");
                    field3.setText("");
                    field4.setText("");
                } 
     
            }; 
            btnAgregar.addActionListener(listener);  
     
            getContentPane().add(panel1);
            getContentPane().add(btnAgregar);
            getContentPane().add(scrollPane);
     
            addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });
        }
     
        public static void main(String[] args) {
            Main frame = new Main();
            frame.pack();
            frame.setVisible(true);
        }
    }
    
     
    A celsoxvi le gustó este mensaje.
  3. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72
    [​IMG]

    Una ultima pregunta, que libro me recomiendas para seguir aprendiendo mas de Java, es que se poco así de lo Básico, y recién estoy entrando a Interfaces Gráficas :( Estoy con el Libro de Deitel pero tu que me Recomiendas.
     
  4. Tequila_Burp

    Tequila_Burp Miembro frecuente

    Registro:
    25 Oct 2010
    Mensajes:
    123
    Likes:
    7
    GOOGLE
    2010 Buscador más utilizado de la internet. Buscas ejemplos de los componentes que quieras usar, copias, pegas y modificas a tu gusto.
    http://www.google.com

    HORTSMANN, Cay y CORONEL, Gray
    2000 Core Java 2 Fundamentals. Prentice Hall

    HORTSMANN, Cay S. y otros
    2000 Core Java 2 Advanced Features - Sun Microsystems. Prentice Hall

    HALL, Marty
    2003 Core Servlets and Java Server Pages - Sun Microsystems. Prentice Hall

    PERRONE, Paul J. y otros
    2000 Building Java Entreprise Systems with J2EE - Ed. SAMS

    SUN MIRCOSYSTEMS
    1999 Core 2JEE Patterns: Patterns Index Page.
    http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html

    Mas Avanzado busca libros sobre Plataforma J2EE, Servidores de Aplicaciones, EJB, Queues, Web Services, SOA Y BPM.
     
    Última edición: 12 Dic 2010
  5. CM PUNK

    CM PUNK Miembro maestro

    Registro:
    29 Abr 2007
    Mensajes:
    620
    Likes:
    5
    uhmmm ta bien el codigo, creeme que con la paleta es mas facil :D
     
  6. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72
    Si pues, pero no entiendo mucho de ello, no logro encontrar al menos un libro inspirado en crear aplicaciones en Java basado en entorno de NetBeans y de la Aplicación para escritorio :(
     
  7. erickxls

    erickxls Miembro maestro

    Registro:
    13 Set 2008
    Mensajes:
    842
    Likes:
    15
    si quieres que se te haga mas facil la manipulacion de los datos del jTable usa un DefaultTableModel
     
  8. CM PUNK

    CM PUNK Miembro maestro

    Registro:
    29 Abr 2007
    Mensajes:
    620
    Likes:
    5
    Utiliza el libro de Deitel "Como Programar en Java".