Hi Nomi,
Here's some example code to get that Quaqua look across the border
(should work with Java 6 and on all the difference L&F). You'll
of course need to modify it accordingly, but it should give
you an idea:
<source_code>
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
public class TableTest extends JFrame {
public TableTest() {
init();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
private void init() {
JPanel panel = new JPanel();
add(panel);
Integer[][] data = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 },
{ 11, 12, 13, 14, 15 } };
String [] colNames = { "A", "B", "C", "D", "E" };
JTable table = new JTable(new DefaultTableModel(data, colNames));
table.setIntercellSpacing(new Dimension(0, 0));
table.setDefaultRenderer(Object.class, new 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.setBorder(BorderFactory.createLineBorder(Color.GRAY));
if (row % 2 == 0) {
label.setBackground(new Color(175, 238, 238));
}
else {
label.setBackground(Color.WHITE);
}
return label;
}
});
panel.add(table);
}
public static void main(String [] args) {
new TableTest().setVisible(true);
}
}
</source_code>
Cheers,
Ed