Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/08/2010, 14:04
marioaguirre
 
Fecha de Ingreso: febrero-2009
Mensajes: 16
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: JTable más ActionListener ¿?

Puedes utilizar JXTable bajando la libreria swingx-0-9-3.jar

Bueno.... asi creamos una tabla con scroll
Código:
 private void mostrarTabla()
    {
        scroll_tablex_Comentarios = new JScrollPane();

        tablex_Comentarios = new JXTable();
        tablex_Comentarios.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"
            }
        ));

        tablex_Comentarios.setColumnControlVisible(true); //Mostrar el iconito de filtros columnas
        tablex_Comentarios.setHighlighters(HighlighterFactory.createSimpleStriping()); //Poner colores diferentes entre cada fila

        scroll_tablex_Comentarios.setViewportView(tablex_Comentarios);
    }
y añades a la JFrame el scroll
Código:
add(scroll_tablex_Comentarios,BorderLayout.EAST);
En el siguiente código con el MouseListener obtengo el valor del campo de la fila seleccionada de la columna 2 ya sabes... se empieza con 0 el recorrido. Este lo mando a un JTextArea.

Código:
tablex_Comentarios.addMouseListener(new MouseAdapter()
        {

            public void mouseClicked(MouseEvent evt) {

                tblx_mostrarTablaXMouseClicked(evt);
            }
            private void tblx_mostrarTablaXMouseClicked(MouseEvent evt)
            {
                fila = tablex_Comentarios.rowAtPoint(evt.getPoint());
                if (fila > -1)
                {
                    txa_Comentario.setText(String.valueOf(tablex_Comentarios.getValueAt(fila, 2)));
                }
            }
        });
Si quieres hacerlo cuando presiones ENTER, esto es un ejemplo.
Código:
JTextField11.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                switch (e.getKeyCode()) {
                    case KeyEvent.VK_ENTER:
                        JOptionPane.showMessageDialog(null,"Presionaste enter");
                        break;
                }
            }
        });

Cualquier cosa.... que estes bien.