private static JList getPopupList( JComboBox combo ) { Accessible a = combo.getUI().getAccessibleChild(combo, 0); if( a instanceof ComboPopup ) { return ((ComboPopup) a).getList(); } return null; } }
/** * This public method is implementation specific and should be private. Do * not call or override. */ public void unconfigureArrowButton() { if (arrowButton != null) { arrowButton.removeMouseListener(popup.getMouseListener()); arrowButton.removeMouseMotionListener(popup.getMouseMotionListener()); } }
this.arrowButton.removeMouseListener(popup.getMouseListener()); this.arrowButtonMouseListener = new ArrowButtonMouseListener(popup.getMouseListener()); this.arrowButton.addMouseListener(arrowButtonMouseListener); this.popup.getList().addMouseListener(popupMouseHandler);
if ((popupMouseListener= popup.getMouseListener()) != null) if ((popupMouseMotionListener= popup.getMouseMotionListener()) != null) if ((popupKeyListener= popup.getKeyListener()) != null)
final MouseListener mouseDelegate = popup.getMouseListener();
this.arrowButton.removeMouseListener(popup.getMouseListener()); this.arrowButtonMouseListener = new ArrowButtonMouseListener(popup.getMouseListener()); this.arrowButton.addMouseListener(arrowButtonMouseListener); this.popup.getList().addMouseListener(popupMouseHandler);
Accessible a = fontsBox.getUI().getAccessibleChild(fontsBox, 0); if (a instanceof javax.swing.plaf.basic.ComboPopup) { JList list = ((javax.swing.plaf.basic.ComboPopup)a).getList(); Rectangle rect = list.getVisibleRect(); int first = list.locationToIndex(rect.getLocation()); // similar for last, at the lower edge of the visible rect, left as exercise <g> // Edit: as of @Boro's comment, last is easier calculated with maxRowCount int last = first + fontsBox.getMaximumRowCount() - 1; ....
this.arrowButton.removeMouseListener(popup.getMouseListener()); this.arrowButtonMouseListener = new ArrowButtonMouseListener(popup.getMouseListener()); this.arrowButton.addMouseListener(arrowButtonMouseListener); this.popup.getList().addMouseListener(popupMouseHandler);
/** * This public method is implementation specific and should be private. Do * not call or override. */ public void configureArrowButton() { if (arrowButton != null) { arrowButton.setEnabled(comboBox.isEnabled()); arrowButton.setRequestFocusEnabled(false); arrowButton.addMouseListener(popup.getMouseListener()); arrowButton.addMouseMotionListener(popup.getMouseMotionListener()); arrowButton.resetKeyboardActions(); } }
/** * Get the list used by the combo box popup. * * @return {@link JList} for popup; {@code null} if we couldn't find it. */ @Nullable protected JList getPopupList() { JList result = null; final ComboBoxUI comboBoxUI = getUI(); final int childrenCount = comboBoxUI.getAccessibleChildrenCount( this ); for ( int i = 0; i < childrenCount; i++ ) { final Accessible child = comboBoxUI.getAccessibleChild( this, i ); if ( child instanceof ComboPopup ) { result = ( (ComboPopup)child ).getList(); break; } } return result; } }
/** * @param sb The combo box we are testing * @return The JList component used to display the combobox */ public JComponent findPopupFromUI(JComboBox sb) { Accessible a = sb.getUI().getAccessibleChild(sb, 0); if (a != null && a instanceof javax.swing.plaf.basic.ComboPopup) { // get the popup list JList list = ((javax.swing.plaf.basic.ComboPopup)a).getList(); return list; } return (JList)findPopupComponent(sb); }
public void actionPerformed(ActionEvent e) { JComboBox comboBox= (JComboBox) e.getSource(); if (comboBox.isEnabled()) { ComboBoxUI ui= (ComboBoxUI) comboBox.getUI(); if (ui.isMyTableCellEditor()) { // Forces the selection of the list item if the // combo box is in a JTable. comboBox.setSelectedIndex(ui.popup.getList().getSelectedIndex()); } else { comboBox.setPopupVisible(!comboBox.isPopupVisible()); } } } }
Accessible a = box.getUI().getAccessibleChild(box, 0); if (a instanceof javax.swing.plaf.basic.ComboPopup) { JList popupList = ((javax.swing.plaf.basic.ComboPopup) a).getList();
if (popupMenu instanceof ComboPopup) { final ComboPopup popup = (ComboPopup) popupMenu; final JList list = popup.getList(); list.setBorder(null); final Dimension size = list.getPreferredSize();
public Object getPopupPrototypeDisplayValue(JComboBox jc) { int maxWidth = -1; Object prototype = null; JList list = ((SubstanceComboBoxUI) jc.getUI()).getPopup().getList(); for (int i = 0; i < jc.getModel().getSize(); i++) { Object elem = jc.getModel().getElementAt(i); Component renderer = jc.getRenderer().getListCellRendererComponent( list, elem, i, false, false); if (renderer != null) { int rWidth = renderer.getPreferredSize().width; if (rWidth > maxWidth) { maxWidth = rWidth; prototype = elem; } } } return prototype; } }
Component comp = renderer.getListCellRendererComponent(popup.getList(), 1, 0, false, false); int pref = comp.getPreferredSize().height; return pref;
protected static JList getPopupListFor(JComboBox comboBox) { int count = comboBox.getUI().getAccessibleChildrenCount(comboBox); for (int i = 0; i < count; i++) { Accessible a = comboBox.getUI().getAccessibleChild(comboBox, i); if (a instanceof ComboPopup) { return ((ComboPopup) a).getList(); } } return null; }
JList list = ((ComboPopup) a).getList(); int lastIndex = list.getModel().getSize() - 1;
protected static JList getPopupListFor(JComboBox comboBox) { int count = comboBox.getUI().getAccessibleChildrenCount(comboBox); for (int i = 0; i < count; i++) { Accessible a = comboBox.getUI().getAccessibleChild(comboBox, i); if (a instanceof ComboPopup) { return ((ComboPopup) a).getList(); } } return null; }
protected static JList getPopupListFor(JComboBox comboBox) { int count = comboBox.getUI().getAccessibleChildrenCount(comboBox); for (int i = 0; i < count; i++) { Accessible a = comboBox.getUI().getAccessibleChild(comboBox, i); if (a instanceof ComboPopup) { return ((ComboPopup) a).getList(); } } return null; }