49 |
import javax.swing.ListCellRenderer; |
import javax.swing.ListCellRenderer; |
50 |
import javax.swing.SwingConstants; |
import javax.swing.SwingConstants; |
51 |
import javax.swing.SwingUtilities; |
import javax.swing.SwingUtilities; |
|
import javax.swing.UIDefaults; |
|
|
import javax.swing.UIManager; |
|
52 |
import javax.swing.border.Border; |
import javax.swing.border.Border; |
53 |
import javax.swing.border.EmptyBorder; |
import javax.swing.border.EmptyBorder; |
54 |
|
|
72 |
public BasicComboBoxRenderer() |
public BasicComboBoxRenderer() |
73 |
{ |
{ |
74 |
setHorizontalAlignment(SwingConstants.LEFT); |
setHorizontalAlignment(SwingConstants.LEFT); |
75 |
|
setBorder(noFocusBorder); |
76 |
} |
} |
77 |
|
|
78 |
/** |
/** |
128 |
|
|
129 |
setOpaque(true); |
setOpaque(true); |
130 |
|
|
131 |
if (isSelected) |
if (isSelected || cellHasFocus) |
132 |
{ |
{ |
133 |
setBackground(list.getSelectionBackground()); |
setBackground(list.getSelectionBackground()); |
134 |
setForeground(list.getSelectionForeground()); |
setForeground(list.getSelectionForeground()); |
141 |
|
|
142 |
setEnabled(list.isEnabled()); |
setEnabled(list.isEnabled()); |
143 |
setFont(list.getFont()); |
setFont(list.getFont()); |
|
|
|
|
// Use focusCellHighlightBorder when renderer has focus and |
|
|
// noFocusBorder otherwise |
|
|
if (cellHasFocus) |
|
|
setBorder(UIManager.getBorder("List.focusCellHighlightBorder")); |
|
|
else |
|
|
setBorder(noFocusBorder); |
|
|
|
|
144 |
return this; |
return this; |
145 |
} |
} |
146 |
|
|