CellEditor JSpinner in Jtable

3 respostas
F

Fala galera, estou com esse erro, não sei como implementar este metodo que eu tenho de CellEditor, alguem pode me dar uma mão?

o erro e este abaixo…

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet.
	at apontamento.utils.PadraoGridView.addCellEditorListener(PadraoGridView.java:100)
	at javax.swing.JTable.editCellAt(JTable.java:3496)

Obrigado

3 Respostas

F

Não sei se vocês entenderam mas os metodos que não contem nada eu nao sei o que colocar para nao retornar este erro que postei acima, segue minha classe para melhor entendimento do meu problema…

public class PadraoGridView extends DefaultTableCellRenderer implements TableCellEditor {  
     JSpinner spinner = new JSpinner();
    @Override
    public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) {
        // component will actually be this.
        Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        component.setBackground(row%2==0 ? Color.getHSBColor(125,255,145) : Color.LIGHT_GRAY);
        //JSpinner spinner = new JSpinner();
        TableColumn col1 = table.getColumnModel().getColumn(4);
        //TableColumn col = table.getColumnModel();
        TableColumnModel col = table.getColumnModel();
        col.getColumn(0).setPreferredWidth(50);
        col.getColumn(1).setPreferredWidth(50);
        col.getColumn(2).setPreferredWidth(150);
        col.getColumn(3).setPreferredWidth(300);
        col.getColumn(4).setPreferredWidth(50);
        col1.setCellEditor(new PadraoGridView());
        if(column == 4){
            table.setRowHeight(30);
            //table.setEditingRow(row);
            //if (component instanceof JLabel) {
            //spinner.setValue(Integer.valueOf(((JLabel) component).getText()));
            //TableColumn column = table.getColumnModel().getColumn(1);
            //} else if (value != null) {
            //spinner.setValue(Integer.valueOf(value.toString()));
            //} else {  
            //System.out.println("Não foi possivel criar Renderer");
           //}
            // spinner.setEditor(spinner);
            spinner.setModel(new javax.swing.SpinnerNumberModel());
            return spinner;
        } else {
            return component;
        }
        
    }
    @Override
    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
        spinner.setValue(value);
        return spinner;
        
    }

    @Override
    public Object getCellEditorValue() {
        return spinner.getValue();
    }

    @Override
    public boolean isCellEditable(EventObject anEvent) {
        Object evt = null;
        if (evt instanceof MouseEvent) {
            return ((MouseEvent) evt).getClickCount() >= 2;
    }
        return true;
    
}

    @Override
    public boolean shouldSelectCell(EventObject anEvent) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean stopCellEditing() {
          
            return true;

    }
    @Override
    public void cancelCellEditing() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void addCellEditorListener(CellEditorListener l) {
       throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void removeCellEditorListener(CellEditorListener l) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
F

Alguem não entendeu o que eu quero?

lucasirc

JTable.editCellAt(JTable.java:3496) está tentando utilizar seu metodo addCellEditorListener,
porem, voce lança uma exception com a mensagem “o metodo ainda nao esta implementado”

voce tem que fazer a implementacao do metodo

@Override  
    public void addCellEditorListener(CellEditorListener l) {  
       throw new UnsupportedOperationException("Not supported yet.");  
    }

abraço

Criado 27 de março de 2013
Ultima resposta 28 de mar. de 2013
Respostas 3
Participantes 2