JCheckBox em uma Jtable

2 respostas
zicky23

Olá, gostaria de um exemplo de como colocar um jcheckbox nas linhas de uma determinada jtable, tentei fazer da seguinte maneira:

public void Obs()
    {   
        Date datOBS = null;
        String obs = "";
        DateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
        try {
            datOBS = new java.sql.Date(((java.util.Date) formatter.parse(d)).getTime());
        } catch (ParseException ex) {
            Logger.getLogger(consultaExtratos.class.getName()).log(Level.SEVERE, null, ex);
        }

            jcheck = new JCheckBox();

            DefaultTableCellRenderer cellRender = new DefaultTableCellRenderer();
            TextObs.getColumnModel().getColumn(1).setCellRenderer(cellRender);
            cellRender.setHorizontalAlignment(SwingConstants.CENTER);
            TableColumn colunaOBS = TextObs.getColumnModel().getColumn(1);
            colunaOBS.setCellEditor(new DefaultCellEditor(jcheck));

            obj_conexao.executeSQL("SELECT o.OBSERVACOES "
                                 + "FROM OBSERVACOES o "
                                 + "WHERE o.ID_CONTA = "+LabelIdConta.getText()
                                 + " AND '"+datOBS+"' BETWEEN o.DATAI AND o.DATAF");
        DefaultTableModel modelo1 = (DefaultTableModel)TextObs.getModel();
        modelo1.setNumRows(0);
        try
        {
            while(obj_conexao.resultset.next())
            modelo1.addRow(new Object [] {obj_conexao.resultset.getString("OBSERVACOES")});
            obj_conexao.resultset.last();
            }catch(SQLException erro){
                JOptionPane.showMessageDialog(null, erro);
            }
    }

mas nao consegui, até funciona, mas o que acontece é que não aparece a jcheckbox, só aparece no momento que a célula é clicada depois desaparece e logo depois aparece "true" ou "false".

valeu desde já

2 Respostas

zicky23

alguém pode dar uma mãozinha?

como vcs estão vendo estou usando a droga do DEFAULTTABLEMODEL

pelo que li nao da pra colocar uma jcheckbox na célula usando o DefaultTableModel

isso é verdade?

valeu pessoal

igor_jua

A melhor forma de se trabalhar com JTable é vc criar o seu próprio Tablemodel.
Assim vc consegue colocar vários componentes a sua escolha dentro da JTable.

http://www.guj.com.br/posts/list/15/199067.java#1001295

Criado 22 de março de 2011
Ultima resposta 27 de mar. de 2011
Respostas 2
Participantes 2