Index: javax/swing/table/DefaultTableCellRenderer.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/table/DefaultTableCellRenderer.java,v retrieving revision 1.15 diff -u -r1.15 DefaultTableCellRenderer.java --- javax/swing/table/DefaultTableCellRenderer.java 17 Oct 2005 15:16:43 -0000 1.15 +++ javax/swing/table/DefaultTableCellRenderer.java 28 Oct 2005 14:49:33 -0000 @@ -43,8 +43,10 @@ import java.awt.Rectangle; import java.io.Serializable; +import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JTable; +import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; import javax.swing.JTextField; @@ -136,12 +138,7 @@ if (table == null) return this; - if (isSelected && hasFocus) - { - setBackground(table.getBackground()); - setForeground(table.getSelectionForeground()); - } - else if (table.isRowSelected(row)) + if (isSelected) { setBackground(table.getSelectionBackground()); setForeground(table.getSelectionForeground()); @@ -151,9 +148,17 @@ setBackground(table.getBackground()); setForeground(table.getForeground()); } + if (hasFocus) + { + setBackground(table.getBackground()); + setBorder(UIManager.getBorder("Table.focusCellHighlightBorder")); + } + else + setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); setEnabled(table.isEnabled()); setFont(table.getFont()); + return this; } Index: javax/swing/table/JTableHeader.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/table/JTableHeader.java,v retrieving revision 1.13 diff -u -r1.13 JTableHeader.java --- javax/swing/table/JTableHeader.java 5 Oct 2005 14:17:14 -0000 1.13 +++ javax/swing/table/JTableHeader.java 28 Oct 2005 14:49:33 -0000 @@ -612,7 +612,7 @@ public Rectangle getHeaderRect(int column) { - Rectangle r = getTable().getCellRect(-1, column, true); + Rectangle r = getTable().getCellRect(-1, column, false); r.height = getHeight(); return r; }