Skip to content →

[Java] Merubah Warna Header pada JTable

Untuk merubah warna header atau me-makeover Header JTable, mungkin diganti Font, ganti warna, gede kecilnya dsb, konsep pembuatannya sama seperti me-makeover content JTable, coba lihat postingan saya yang ini! Sama bener-bener sama, kita bikin dulu kelas Render-nya baru kita pasang kelas Render tadi ke header JTable,

Langsung ke kodingnya yak! Keburu Siang hehehe….

TabelRenderHeader.java

public class TabelRenderHeader extends DefaultTableCellRenderer {
@Override
 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
 JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
 label.setFont(new Font("Comic Sans MS", 3, 14));
 label.setOpaque(true);
 label.setHorizontalAlignment(CENTER);
 label.setBackground(Color.GRAY);
 label.setForeground(Color.WHITE);
return label;
 }
 }

Kelas diatas merupakan kelas Render-nya, agak beda sama makeover content pada JTable. Kalo content, kita rendernya per cell, kalo header ini kita langsung Render sebaris doank. Di JTable-nya, tambahin beginian…

TableColumn kolom;
TableColumnModel columnModelKasir;
 
kolomModel = tabel.getColumnModel();
for (int i = 0; i < 5; i++) {
kolom = kolomModel.getColumn(i);
kolom.setHeaderRenderer(new TabelRenderHeader());
}

Kita menggunakan fasilitas dari kelas TableColumn untuk merender per kolom pada JTable dan TableColumnModel untuk mengambil model dari tabelnya. Pada fungsi for diatas saya gunakan 5 kolom, maka limitnya juga 5, ngerti kan ya kalo ini… Hehehe…

Published in Java

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *