Bom dia pessoal,
Gostaria de poder colocar uma imagem dentro de uma determinada célula de um JTable. Eu determinaria a mesma pela posição na linha e coluna e adicionaria uma imagem. Acredito que a mesma seria colocada dentro de um JLabel.
A minha idéia é fazer, por exemplo:
__________________________________
Gerente | V
__________________________________
Supervisor | X
__________________________________
Sendo que a segunda coluna teria na célula[1,2] uma imagem de V e na célula[2,2] uma imagem de um X. Este é apenas um exemplo simples.
Já tenho implementado o seguinte:
class JComponentTableCellRendererP implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
return (JComponent) value;
}
}
public class Principal extends javax.swing.JFrame {
(...)
//----------------------------------------------------------------------------//
private String headers_registro[] = { "Evento", "Status" };
private final Object rows_registro[][] = { { " ", " " }, { " ", " " }, { " ", " " }};
public DefaultTableCellRenderer renderer_registro = null;
private Border headerBorder_registro = null;
private TableCellRenderer cellrenderer_registro = new JComponentTableCellRendererP();
public TableColumnModel columnModel_registro = null;
private TableColumn column0_registro = null;
private TableColumn column1_registro = null;
private JLabel evento_registroLabel = null;
private JLabel status_registroLabel = null;
private DefaultTableModel modelo_registro = new DefaultTableModel(rows_registro, headers_registro){
@Override
public boolean isCellEditable(int row, int col){
return false;
}
};
//----------------------------------------------------------------------------//
(...)
private void popularTabelaRegistro(){
String[] dados = null;
dados = new String[2];
//-------------- ELIMINANDO TOTALMENTE TODAS AS LINHAS DA TABELA -------------//
modelo_registro.getDataVector().removeAllElements();
//----------------------------------------------------------------------------//
dados[0] = "Programa Inicializado"; // Evento
dados[1] = dt.obterHora() + " - " + dt.obterData(); // Status
modelo_registro.addRow(dados);
//----------------------- CENTRALIZANDO OS DADOS NO JTABLE -------------------//
renderer_registro.setHorizontalAlignment(JLabel.CENTER);
//----------------------------------------------------------------------------//
(...)
Gostaria de apartir do que eu já tenho fazer a referida implementação das imagens no JTable. Desde já agradeço qualquer ajuda neste sentido.
Abraão