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:
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)