Skip to content

Instantly share code, notes, and snippets.

@resarahadian
Created December 18, 2013 01:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save resarahadian/8015697 to your computer and use it in GitHub Desktop.
Save resarahadian/8015697 to your computer and use it in GitHub Desktop.
Membuat Highlight Warna JTable
import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
@SuppressWarnings("serial")
public class frameTableHighLights extends JFrame {
private JPanel contentPane;
private JScrollPane scrollPane;
private JTable tabel;
DefaultTableModel tabelModel;
String header[] = {"ID", "Nama", "Harga"};
String isi[][] = {{"B001","Kecap DEF", "6000"}, {"B002","Mie Goreng", "1800"}, {"B003","Saus Sambal", "4500"}, {"B004","Susu Ultra", "3200"}};
private JLabel lblWall;
private TableColumn kolomTabel;
/**
* Create the frame.
*/
public frameTableHighLights()
{
setTitle("Highligt JTable");
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 674, 380);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
scrollPane = new JScrollPane();
scrollPane.setBounds(16, 21, 447, 293);
contentPane.add(scrollPane);
tabelModel = new DefaultTableModel(isi,header);
tabel = new JTable();
tabel.setModel(tabelModel);
kolomTabel = tabel.getColumnModel().getColumn(0);
kolomTabel.setCellRenderer(new CustomTableCellRenderer());
kolomTabel = tabel.getColumnModel().getColumn(1);
kolomTabel.setCellRenderer(new CustomTableCellRenderer());
kolomTabel = tabel.getColumnModel().getColumn(2);
kolomTabel.setCellRenderer(new CustomTableCellRenderer());
scrollPane.setOpaque(false);
scrollPane.getViewport().setOpaque(false);
tabel.setShowGrid(false);
scrollPane.setViewportView(tabel);
JLabel lblIcon = new JLabel("");
lblIcon.setIcon(new ImageIcon("/home/resa/Aplikasi Java/SwingJava/src/highlightColorTable/icon.png"));
lblIcon.setBounds(508, 30, 152, 129);
contentPane.add(lblIcon);
lblWall = new JLabel("");
lblWall.setIcon(new ImageIcon("/home/resa/Aplikasi Java/SwingJava/src/highlightColorTable/west.jpg"));
lblWall.setBounds(0, -13, 672, 367);
contentPane.add(lblWall);
setLocationRelativeTo(null);
}
public class CustomTableCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable tabel, Object obj, boolean isSelected, boolean hasFocus, int baris, int kolom)
{
Component comp = super.getTableCellRendererComponent(tabel, obj, isSelected, hasFocus, baris, kolom);
if(isSelected)
{
comp.setBackground(Color.ORANGE);
}
else
{
comp.setBackground(Color.WHITE);
}
return comp;
}
}
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
frameTableHighLights frame = new frameTableHighLights();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment