JTable integrado com JButton

Pessoal,
Estou começando a desenvolver em Java e estou querendo fazer uma tabela que contenham dados e botões para ações integrados no mesma linha de registro (deletar, inserir, outros …).

Pensei em utilizar o jTable e agregar colunas de Jbutton, mas não estou conseguindo.
Alguem pode me ajudar?

http://www.devx.com/getHelpOn/10MinuteSolution/20425

entanglement, obrigado pela ajuda.
Mas o exemplo do link não funciona direito.

Realmente não funciona direito nem corrigindo os erros de compilação.

Responderam aqui:

http://www.guj.com.br/java/221249-exibir-jbutton-na-coluna-de-um-jtable-resolvido

http://www.guj.com.br/java/97926-problema-ao-incluir-botao-na-jtable

o código do exmplo funciona, mas tem 2 classes juntas… basta separar pra ver…

[code]public final class JTableButton extends JFrame {
private JTable __table;
private JScrollPane __scrollPane;

public JTableButton() {
super(“JTableButton Demo”);
TableCellRenderer defaultRenderer;

__table = new JTable(new JTableButtonModel());
defaultRenderer = __table.getDefaultRenderer(JButton.class);
__table.setDefaultRenderer(JButton.class,
		       new JTableButtonRenderer(defaultRenderer));
__table.setPreferredScrollableViewportSize(new Dimension(400, 200));
__table.addMouseListener(new JTableButtonMouseListener(__table));

__scrollPane = new JScrollPane(__table);
setContentPane(__scrollPane);

}

public static void main(String[] args) {
Frame frame;
WindowListener exitListener;

exitListener = new WindowAdapter() {
  public void windowClosing(WindowEvent e) {
Window window = e.getWindow();
window.setVisible(false);
window.dispose();
System.exit(0);
  }
};

frame = new JTableButton();
frame.addWindowListener(exitListener);
frame.pack();
frame.setVisible(true);

}
}[/code]

e

[code]import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Window;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

public final class JTableButton extends JFrame {
private JTable __table;
private JScrollPane __scrollPane;

public JTableButton() {
super(“JTableButton Demo”);
TableCellRenderer defaultRenderer;

__table = new JTable(new JTableButtonModel());
defaultRenderer = __table.getDefaultRenderer(JButton.class);
__table.setDefaultRenderer(JButton.class,
		       new JTableButtonRenderer(defaultRenderer));
__table.setPreferredScrollableViewportSize(new Dimension(400, 200));
__table.addMouseListener(new JTableButtonMouseListener(__table));

__scrollPane = new JScrollPane(__table);
setContentPane(__scrollPane);

}

public static void main(String[] args) {
Frame frame;
WindowListener exitListener;

exitListener = new WindowAdapter() {
        @Override
  public void windowClosing(WindowEvent e) {
Window window = e.getWindow();
window.setVisible(false);
window.dispose();
System.exit(0);
  }
};

frame = new JTableButton();
frame.addWindowListener(exitListener);
frame.pack();
frame.setVisible(true);

}
}[/code]