Agregar JComboBox a JTable JAVA
Hola compañeros de programación, me ha salido una gran duda, aunque parece fácil aún no he llegado a una solución:
Quiero agregar un JComboBox a un JTable Java, pero solo quiero agregar un Combo en una fila 0 y columna 4, en los demás NO.
Alguién me puede ayudar:, este es una pequeña parte del desarrollo que hice:
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
// Obtenemos la celda que se esta renderizando
Component c = DEFAULT_RENDERER.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
JComboBox comboBox1 = new JComboBox(DATA1);
comboBox1.setName("c1");
if (fila.compareTo(row) == columna.compareTo(column)) {
//System.out.println("Fila: "+fila+" - "+"Columna: "+columna);
table.setValueAt(JComboBox.class, fila, 0);
}
else {
c.setBackground(Color.WHITE);
c.setForeground(Color.BLACK);
}
// Regresamos la celda para que se agrege a la tabla
return c;
}
// Obtenemos la celda que se esta renderizando
Component c = DEFAULT_RENDERER.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
JComboBox comboBox1 = new JComboBox(DATA1);
comboBox1.setName("c1");
if (fila.compareTo(row) == columna.compareTo(column)) {
//System.out.println("Fila: "+fila+" - "+"Columna: "+columna);
table.setValueAt(JComboBox.class, fila, 0);
}
else {
c.setBackground(Color.WHITE);
c.setForeground(Color.BLACK);
}
// Regresamos la celda para que se agrege a la tabla
return c;
}
Adjunto una imagen
Adjunto | Tamaño |
---|---|
IMAGEN.png | 18.08 KB |
- SISTEMAS's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Podrias leer aqui
Solucion: http://docs.oracle.com/javase/tutorial/uiswing/components/table.html
Hola gracias por aportar, el
Hola gracias por aportar, el tutorial esta muy bueno reforzó lo que sabía.
Pero aún no encuentro el método que me permita poner un combo en una fila especifica de una tabla.
JTableCellEditor
Tienes que implementar un JTableCellEditor, el renderer nunca te va a funcionar, porque cuando la tabla se pinta es como si tomarán una foto de los componentes y es esa foto la que se pinta, por lo tanto aunque veas un combobox este no tendra vida. La solución va por implementar un CellEditor.