Hola a todos, resulta que pude resolverlo, todo lo que tenía que hacer era trabajar con el cellEditorComponent del EstadoCellEditor:
Código Java:
Ver originalpackage app.vistas.modelos;
import app.contr.clases.*;
import app.vistas.facade.FacadeContr;
import app.vistas.util.Mensajes;
import java.awt.*;
import java.awt.event.*;
import java.sql.SQLException;
import javax.swing.*;
import javax.swing.table.TableCellEditor;
import up.max.proyectpages.structs.PagesList;
{
private Estado estado;
PagesList<Estado>datos;
Subasta objs;
Venta objv;
public EstadoCellEditor(Subasta xobjs) {
try {
this.objs = xobjs;
datos = FacadeContr.getInstance().manEstados().find(null);
Mensajes.MostrarAdvertencia(ex.getMessage());
}
}
@Override
public Object getCellEditorValue
() { return this.estado;
}
@Override
public Component getTableCellEditorComponent
(JTable table,
Object value,
boolean isSelected,
int row,
int column
) { if (value instanceof Estado) {
this.estado = (Estado) value;
}
datos.toList().forEach((xestado) -> {
combo.addItem(xestado);
});
combo.setSelectedItem(estado);
combo.addActionListener(this);
objv = objs.getP().get(row);
if (row % 2 == 0) {
combo.
setBackground(Color.
WHITE); combo.
setForeground(Color.
BLACK); } else {
combo.
setBackground(new Color(173,
111,
111)); combo.
setForeground(Color.
WHITE); }
if (isSelected) {
combo.
setBackground(new Color(151,
193,
215)); }
return combo;
}
@Override
try {
JComboBox<Estado> combo = (JComboBox<Estado>) event.getSource();
this.estado = (Estado) combo.getSelectedItem();
objv.setObje(estado);
objs.addDep(objv);
Mensajes.MostrarAdvertencia(ex.getMessage());
}
}
}
Código Java:
Ver originalpackage app.vistas.modelos;
import app.contr.clases.Estado;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
{
@Override
public Component getTableCellRendererComponent
(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column
) { if (value instanceof Estado) {
Estado estado = (Estado) value;
setText(estado.getNombre());
}
if (row % 2 == 0) {
setBackground
(Color.
WHITE); setForeground
(Color.
BLACK); } else {
setBackground
(new Color(173,
111,
111)); setForeground
(Color.
WHITE); }
if (isSelected) {
setBackground
(new Color(151,
193,
215)); }
return this;
}
}
Y Con esto hago lo que quería, sólo me quedó una duda: ¿cómo tendría que hacer si en una columna quiero poner un combobox, y en otra un jtextfield o un jcheckbox o cualquier otro componente?
Espero sus respuestas y saludos.