Ver Mensaje Individual
  #14 (permalink)  
Antiguo 10/11/2010, 13:16
jiote
 
Fecha de Ingreso: mayo-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Respuesta: Agregar JButton a JTable

hola primero que nada espero que no te enojes que tome prestado tu codigo... pero es muy interesante... yo lo aplique para que pudiera ingresar unos datos en la celda que selecciono pero una ves que ingreso el dato no me lo muestra en la celda, si esta hay pero no lo muestra a ver si ustedes me pueden ayudar
Código:
package xbase3;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractCellEditor;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableCellEditor;

public class myeditor extends AbstractCellEditor implements TableCellEditor, ActionListener {

    Boolean currentValue;
    JButton button;
    JTextField claveLabor;
    int fila=0,col=0;
    protected static final String EDIT = "edit";
    private JTable jTable1;

    public myeditor(JTable jTable2) {
        button = new JButton();
        button.setActionCommand(EDIT);
        button.addActionListener(this);
        button.setBorderPainted(true);
        button.setSize(5, 5);
        this.jTable1 = jTable2;
}
    public void actionPerformed(ActionEvent e) {
        Object n="hmun";//dato de prueba
        fila = jTable1.getSelectedRow();//obtengo la fila
        col = jTable1.getSelectedColumn();//obtengo la columna
        jTable1.getModel().setValueAt(n, fila, col);
        JOptionPane.showMessageDialog(null, jTable1.getModel().getValueAt(0, 0));//aqui verifico si esta el mensaje que puse
        fireEditingStopped();
    }

    public Object getCellEditorValue() {
        return currentValue;
    }

    
    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
        if (row == table.getModel().getRowCount() - 1) {
            currentValue = (Boolean) value;
            return button;
        }
        return new JLabel();
    }
}