/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.pepsoft.worldpainter.themes;
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.JTable;
import javax.swing.table.TableCellEditor;
/**
*
* @author pepijn
*/
public class JButtonTableCellEditor extends AbstractCellEditor implements ActionListener, TableCellEditor {
public JButtonTableCellEditor(ButtonPressListener listener) {
this.listener = listener;
button.addActionListener(this);
}
public Object getCellEditorValue() {
return button;
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
source = table;
button.setText(((JButton) value).getText());
this.row = row;
this.column = column;
return button;
}
// ActionListener
public void actionPerformed(ActionEvent e) {
if (listener != null) {
listener.buttonPressed(source, row, column);
}
}
private final JButton button = new JButton();
private final ButtonPressListener listener;
private int row, column;
private JTable source;
private static final long serialVersionUID = 1L;
}