38 |
|
|
39 |
package javax.swing.plaf.basic; |
package javax.swing.plaf.basic; |
40 |
|
|
41 |
|
import java.awt.Color; |
42 |
import java.awt.Component; |
import java.awt.Component; |
43 |
import java.awt.Dimension; |
import java.awt.Dimension; |
|
import java.awt.Insets; |
|
44 |
import java.awt.Point; |
import java.awt.Point; |
45 |
import java.awt.Rectangle; |
import java.awt.Rectangle; |
46 |
import java.awt.event.ItemEvent; |
import java.awt.event.ItemEvent; |
56 |
import java.beans.PropertyChangeEvent; |
import java.beans.PropertyChangeEvent; |
57 |
import java.beans.PropertyChangeListener; |
import java.beans.PropertyChangeListener; |
58 |
|
|
59 |
|
import javax.swing.BorderFactory; |
60 |
import javax.swing.ComboBoxModel; |
import javax.swing.ComboBoxModel; |
61 |
import javax.swing.JComboBox; |
import javax.swing.JComboBox; |
62 |
import javax.swing.JLabel; |
import javax.swing.JLabel; |
180 |
// to display number of rows equal to 'maximumRowCount' property |
// to display number of rows equal to 'maximumRowCount' property |
181 |
int popupHeight = getPopupHeightForRowCount(comboBox.getMaximumRowCount()); |
int popupHeight = getPopupHeightForRowCount(comboBox.getMaximumRowCount()); |
182 |
|
|
183 |
list.setPreferredSize(new Dimension(cbBounds.width, popupHeight)); |
scroller.setPreferredSize(new Dimension(cbBounds.width, popupHeight)); |
184 |
Insets insets1 = getInsets(); |
pack(); |
|
Insets insets2 = scroller.getInsets(); |
|
|
super.setPopupSize(cbBounds.width, popupHeight + insets1.top |
|
|
+ insets1.bottom + insets2.top + insets2.bottom); |
|
185 |
|
|
186 |
// Highlight selected item in the combo box's drop down list |
// Highlight selected item in the combo box's drop down list |
187 |
if (comboBox.getSelectedIndex() != -1) |
if (comboBox.getSelectedIndex() != -1) |
480 |
*/ |
*/ |
481 |
protected void configureScroller() |
protected void configureScroller() |
482 |
{ |
{ |
483 |
|
scroller.setBorder(null); |
484 |
scroller.getViewport().setView(list); |
scroller.getViewport().setView(list); |
485 |
scroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); |
scroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); |
486 |
} |
} |
491 |
*/ |
*/ |
492 |
protected void configurePopup() |
protected void configurePopup() |
493 |
{ |
{ |
494 |
|
setBorder(BorderFactory.createLineBorder(Color.BLACK)); |
495 |
// initialize list that will be used to display combo box's items |
// initialize list that will be used to display combo box's items |
496 |
this.list = createList(); |
this.list = createList(); |
497 |
((JLabel) list.getCellRenderer()).setHorizontalAlignment(SwingConstants.LEFT); |
((JLabel) list.getCellRenderer()).setHorizontalAlignment(SwingConstants.LEFT); |