Saltar al contenido

¿Agregar botones dentro de la celda de JTable junto con datos?

Esta es la respuesta más completa que te podemos aportar, pero primero estúdiala pausadamente y valora si se puede adaptar a tu trabajo.

Solución:

Sí, es posible, aunque no será fácil.

Tienes que escribir tu propio procesador de celdas personalizado y tu propio editor de celdas.

Esta es una muestra que hice en 5 minutos:

muestra

Está lejos de ser perfecto, pero muestra el concepto.

Aquí está el código fuente:

import java.awt.Component;
import java.awt.Font;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.Dimension;

public class CustomCell 
    public static void main( String [] args )  
        Object [] columnNames = new Object[] "Id", "Quantity" ;
        Object [][] data        = new Object[][] "06", 1, "08", 2 ;

        JTable table = new JTable( data, columnNames )  
            public TableCellRenderer getCellRenderer( int row, int column ) 
                return new PlusMinusCellRenderer();
            
         ;

        table.setRowHeight( 32 );
        showFrame( table );
    

    private static void showFrame( JTable table ) 
        JFrame f = new JFrame("Custom Cell Renderer sample" );
        f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        f.add( new JScrollPane( table ) );
        f.pack();
        f.setVisible( true );
    


class PlusMinusCellRenderer extends JPanel implements TableCellRenderer 
        public Component getTableCellRendererComponent(
                            final JTable table, Object value,
                            boolean isSelected, boolean hasFocus,
                            int row, int column) 
                this.add( new JTextField( value.toString()  ) );
                this.add( new JButton("+"));
                this.add( new JButton("-"));
                return this;
        

Aquí hay un hilo que puede ser interesante y aquí.

valoraciones y comentarios

Recuerda que puedes mostrar este tutorial si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *