-
Bug
-
Resolution: Fixed
-
P4
-
1.3.0
-
beta
-
x86
-
windows_nt
Name: sl110371 Date: 07/25/2000
java version "1.3.0rc3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc3-Z)
Java HotSpot(TM) Client VM (build 1.3.0rc3-Z, mixed mode)
I have a simple renderer that alternates white/blue foground/background colors
based upon row. The table initially comes up with all the cells in the first
column having white background and white foreground. Using the keyboard
will 'fix' this. However, scrolling also leaves things unstable.
This works fine in 1.2.2.
Test case:
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
public class RendererSample {
static class EvenOddRenderer implements TableCellRenderer {
public static final DefaultTableCellRenderer DEFAULT_RENDERER =
new DefaultTableCellRenderer();
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component renderer = DEFAULT_RENDERER.getTableCellRendererComponent(table,
value,
isSelected, hasFocus, row, column);
Color foreground, background;
if (isSelected) {
foreground = Color.yellow;
background = Color.green;
} else {
if (row % 2 == 0) {
foreground = Color.blue;
background = Color.white;
} else {
foreground = Color.white;
background = Color.blue;
}
}
renderer.setForeground(foreground);
renderer.setBackground(background);
return renderer;
}
}
public static void main(String args[]) {
Object rows[][] = {
{"one", "ichi"},
{"two", "ni"},
{"three", "san"},
{"four", "shi"},
{"five", "go"},
{"six", "roku"},
{"seven", "shichi"},
{"eight", "hachi"},
{"nine", "kyu"},
{"ten", "ju"}
};
Object headers[] = {"English", "Japanese"};
JFrame frame = new JFrame("Renderer Sample");
JTable table = new JTable(rows, headers);
TableCellRenderer renderer = new EvenOddRenderer();
table.setDefaultRenderer(Object.class, renderer);
JScrollPane scrollPane = new JScrollPane(table);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.setSize(300, 150);
frame.setVisible(true);
}
}
(Review ID: 104560)
======================================================================