Colorir celula em um JTable

0 respostas
A

Boa tarde pessoal!
Estou com um problema há dois dias e não consigo resolver. Estou montado um sistema para restaurante e neste vai haver um controle por mesa e eu pensei montar colorindo as celulas, so que não achei nada que fosse parecido com o que eu quero.
Eu preciso clicar em uma única célula e está ficar colorida e não perder essa cor e toda vez que for abrir essa tela eu possa ter uma opção para setar aquelas específicas celular de uma cor diferente.

segue o pedaço do meu código fonte:
private JTable Get_TabelaMesa(){
        Integer linha = 0;
        Integer coluna = 0;
        Integer vMesa = 0;
        int vQtdColunas = 10;
        
        tabela_mesa = new JTable();
        tabela_mesa.setBackground(new java.awt.Color(204, 255, 204));
        tabela_mesa.setModel(new javax.swing.table.DefaultTableModel(     new Object [][]{},
               new String[]{"","","","","","","","","",""})
               { boolean[] canEdit = new boolean [] {
                            false, false, false, false,false, false, false, false,false,false
                        };
                        public boolean isCellEditable(int rowIndex, int columnIndex) {
                            return canEdit [columnIndex];
                        }
                        }
               
       
        ); 
        
        tabela_mesa.setCellSelectionEnabled(true);

        tabela_mesa.setGridColor(new java.awt.Color(0, 0, 0));

        tabela_mesa.setRowHeight(30);
        
        tabela_mesa.setRowMargin(0);

        tabela_mesa.setSelectionBackground(new java.awt.Color(255, 255, 102));

        tabela_mesa.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

        tabela_mesa.setSelectionForeground(new java.awt.Color(255, 0, 0));
        

        validate();
        
        vQtdMesa=100;

        javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)tabela_mesa.getModel();
        
        for (vMesa = 0; vMesa < vQtdMesa;){
            
            dtm.addRow(new Object[]{""});
            
            for (coluna = 0;coluna < vQtdColunas;++coluna){
                ++vMesa;
                dtm.setValueAt(vMesa,linha,coluna); 
            }
            ++linha;
        }
        return tabela_mesa;
    }

Obrigado.

Criado 12 de julho de 2008
Respostas 0
Participantes 1