1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
public class TableHeaderExample
{
public static void main(String[] args)
{
JFrame f = new JFrame();
JPanel c = (JPanel)f.getContentPane();
c.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
JTable t = new JTable(new ExampleTableModel());
t.getTableHeader().setDefaultRenderer(new ExampleHeaderRenderer());
t.setIntercellSpacing(new Dimension(1, 1));
t.setShowHorizontalLines(false);
t.setShowVerticalLines(true);
t.setGridColor(Color.lightGray);
JScrollPane sp = new JScrollPane(t);
sp.setBackground(Color.white);
c.add(sp);
f.setSize(500, 500);
f.setVisible(true);
}
static public class ExampleHeaderRenderer extends DefaultTableCellRenderer
{
public ExampleHeaderRenderer()
{
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table,
Object value, boolean selected, boolean focused,
int row, int column)
{
super.getTableCellRendererComponent(table, value, selected, focused, row, column);
setBackground(Color.red);
return this ;
}
}
static private class ExampleTableModel extends DefaultTableModel
{
public int getRowCount()
{
return 10;
}
public int getColumnCount()
{
return 3;
}
public String getColumnName(int column)
{
switch (column)
{
case 0:
return "Song Name";
case 1:
return "Time";
default:
return "Artist";
}
}
public Object getValueAt(int row, int column)
{
switch (column)
{
case 0:
return "Fooing In The Wind";
case 1:
return "3:51";
default:
return "Foo Guy";
}
}
public boolean isCellEditable(int row, int column)
{
return false;
}
}
} |
Partager