Guardando qua e là ho scritto questo. La colonna con i bottoni c'è, ma non riesco a premerli... xkè?
codice:
public class ColonnaBottoni extends AbstractCellEditor implements TableCellRenderer, TableCellEditor, ActionListener {
private boolean isPushed;
JTable table;
JButton renderButton;
JButton editButton;
String text;
public ColonnaBottoni(JTable table, int column){
super();
this.table = table;
renderButton = new JButton();
editButton = new JButton();
editButton.addActionListener(this);
table.getColumnModel().getColumn(column).setCellRenderer(this);
table.getColumnModel().getColumn(column).setCellEditor(this);
}
public void actionPerformed(ActionEvent e){
fireEditingStopped();
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if(value==null)
renderButton.setText("");
else
renderButton.setText(value.toString());
return renderButton;
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
if(value == null)
text="";
else
text=value.toString();
editButton.setText(text);
isPushed = true;
return editButton;
}
public Object getCellEditorValue() {
if (isPushed) {
System.out.println("qui");
JOptionPane.showMessageDialog(editButton ,text + ": Ouch!");
}
isPushed = false;
return new String( text ) ;
}