import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
import javax.swing.event.*;
public class Estudos extends JFrame{
public Estudos(){
super("Exemplo de uma tabela simples");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas);
tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
Container c = getContentPane();
c.setLayout(new FlowLayout());
// define um TableCellRenderer para o primeiro título
tabela.getColumn("Cidade").setHeaderRenderer(new HeaderJLabel());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class HeaderJLabel implements TableCellRenderer{
private JLabel rot = new JLabel(new ImageIcon("icon.gif"));
// certifique-se da existencia da imagem "icon.gif" antes de executar
public Component getTableCellRendererComponent(JTable table,
Object value,boolean isSelected, boolean hasFocus,
int row, int column){
TableCellRenderer tcr = table.getTableHeader().getDefaultRenderer();
Component c = tcr.getTableCellRendererComponent(table,
value, isSelected, hasFocus, row, column);
rot.setFont(c.getFont());
rot.setForeground(Color.RED);
rot.setBorder(((JComponent)c).getBorder());
rot.setText((String) value);
return rot;
}
}