Java 类javax.swing.plaf.basic.BasicComboPopup 实例源码

项目:jdk8u-jdk    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:openjdk-jdk10    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:openjdk9    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:jdk8u_jdk    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:swing-material    文件:MaterialComboBox.java   
public MaterialComboBox() {
    setModel(new DefaultComboBoxModel<T>());
    setRenderer(new FieldRenderer<T>(this));
    setUI(new BasicComboBoxUI() {
        @Override
        protected ComboPopup createPopup() {
            BasicComboPopup popup = new Popup(comboBox);
            popup.getAccessibleContext().setAccessibleParent(comboBox);
            return popup;
        }

        @Override
        protected JButton createArrowButton() {
            JButton button = new javax.swing.plaf.basic.BasicArrowButton(
                    javax.swing.plaf.basic.BasicArrowButton.SOUTH,
                    MaterialColor.TRANSPARENT,
                    MaterialColor.TRANSPARENT,
                    MaterialColor.TRANSPARENT,
                    MaterialColor.TRANSPARENT);
            button.setName("ComboBox.arrowButton");
            return button;
        }
    });
    setOpaque(false);
    setBackground(MaterialColor.TRANSPARENT);
}
项目:lookaside_java-1.8.0-openjdk    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:Stud.IP-Client    文件:DropDownBox.java   
@Override
protected ComboPopup createPopup() {
    return new BasicComboPopup(comboBox) {
        private static final long serialVersionUID = -1460253465809092623L;

        @Override
        protected void configurePopup() {
            setBorderPainted(true);
            setBorder(BorderFactory.createLineBorder(Template.COLOR_LIGHT_GRAY));
            setOpaque(false);
            add(scroller);
            setFocusable(false);
        }

    };

}
项目:infobip-open-jdk-8    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:jdk8u-dev-jdk    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:FileTemplatesVariable    文件:AutoCompletion.java   
private int lookupPopupItem(String pattern, boolean select) {
    BasicComboPopup popup = (BasicComboPopup) comboBox.getAccessibleContext().getAccessibleChild(0);
    JList list = popup.getList();
    int nextMatch = list.getNextMatch(pattern, 0, Position.Bias.Forward);
    if (list.getSelectedIndex() > 0) {
        nextMatch = nextMatch < 0 ? list.getNextMatch(pattern, list.getSelectedIndex(), Position.Bias.Backward) : nextMatch;
    }
    if (select) {
        if (nextMatch >= 0) {
            list.ensureIndexIsVisible(nextMatch);
            list.setSelectedIndex(nextMatch);
        } else {
            list.getSelectionModel().clearSelection();
        }
    }
    return nextMatch;
}
项目:Juicebox    文件:BoundsPopupMenuListener.java   
/**
 * Alter the bounds of the popup just before it is made visible.
 */
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
    @SuppressWarnings("unchecked")
    JComboBox<E> comboBox = (JComboBox<E>) e.getSource();

    if (comboBox.getItemCount() == 0) return;

    final Object child = comboBox.getAccessibleContext().getAccessibleChild(0);

    if (child instanceof BasicComboPopup) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                customizePopup((BasicComboPopup) child);
            }
        });
    }
}
项目:Juicebox    文件:BoundsPopupMenuListener.java   
private void customizePopup(BasicComboPopup popup) {
    scrollPane = getScrollPane(popup);

    if (popupWider)
        popupWider(popup);

    checkHorizontalScrollBar(popup);

    //  For some reason in JDK7 the popup will not display at its preferred
    //  width unless its location has been changed from its default
    //  (ie. for normal "pop down" shift the popup and reset)

    Component comboBox = popup.getInvoker();
    Point location = comboBox.getLocationOnScreen();

    if (popupAbove) {
        int height = popup.getPreferredSize().height;
        popup.setLocation(location.x, location.y - height);
    } else {
        //int height = comboBox.getPreferredSize().height;
        //popup.setLocation(location.x, location.y + height - 1);
        //popup.setLocation(location.x, location.y + height);
        //TODO should not be hardcoded
        popup.setLocation(location.x + 5, location.y + 35);
    }
}
项目:Juicebox    文件:BoundsPopupMenuListener.java   
private void popupWider(BasicComboPopup popup) {
    @SuppressWarnings("unchecked")
    JList<E> list = popup.getList();

    //  Determine the maximimum width to use:
    //  a) determine the popup preferred width
    //  b) limit width to the maximum if specified
    //  c) ensure width is not less than the scroll pane width

    int popupWidth = list.getPreferredSize().width
            + 5  // make sure horizontal scrollbar doesn't appear
            + getScrollBarWidth(popup, scrollPane);

    if (maximumWidth != -1) {
        popupWidth = Math.min(popupWidth, maximumWidth);
    }

    Dimension scrollPaneSize = scrollPane.getPreferredSize();
    popupWidth = Math.max(popupWidth, scrollPaneSize.width);

    //  Adjust the width

    scrollPaneSize.width = popupWidth;
    scrollPane.setPreferredSize(scrollPaneSize);
    scrollPane.setMaximumSize(scrollPaneSize);
}
项目:cn1    文件:MetalComboBoxUITest.java   
public void testGetMinimumSize() throws Exception {
    ui.setComboBox(comboBox);
    ComboPopup popup = new BasicComboPopup(comboBox);
    ui.setPopup(popup);
    ui.setListBox(popup.getList());
    ui.installListeners();
    comboBox.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
    Dimension listPart = new BasicComboBoxRenderer().getListCellRendererComponent(
            popup.getList(), "", -1, false, false).getPreferredSize();
    Dimension expectedSize = new Dimension(listPart.width + listPart.height + 8,
            listPart.height + 8);
    assertEquals(expectedSize, ui.getMinimumSize(null));
    assertEquals(expectedSize, ui.getCachedMinimumSize());
    ui.setCachedMinimumSize(new Dimension(100, 100));
    assertEquals(ui.getCachedMinimumSize(), ui.getMinimumSize(null));
    comboBox.addItem("aaa");
    listPart = new BasicComboBoxRenderer().getListCellRendererComponent(popup.getList(),
            "aaa", -1, false, false).getPreferredSize();
    expectedSize = new Dimension(listPart.width + listPart.height + 8, listPart.height + 8);
    assertEquals(expectedSize, ui.getMinimumSize(null));
}
项目:openjdk-jdk7u-jdk    文件:MouseComboBoxTest.java   
private static Point getItemPointToClick(final int item) throws Exception {
    final Point[] result = new Point[1];

    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup();
            Point point = popup.getLocationOnScreen();
            Dimension size = popup.getSize();

            int step = size.height / items.length;
            point.x += size.width / 2;
            point.y += step / 2 + step * item;
            result[0] = point;
        }
    });
    return result[0];
}
项目:com.opendoorlogistics    文件:BoundsPopupMenuListener.java   
/**
 * Alter the bounds of the popup just before it is made visible.
 */
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
    JComboBox comboBox = (JComboBox) e.getSource();

    if (comboBox.getItemCount() == 0)
        return;

    final Object child = comboBox.getAccessibleContext().getAccessibleChild(0);

    if (child instanceof BasicComboPopup) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                customizePopup((BasicComboPopup) child);
            }
        });
    }
}
项目:com.opendoorlogistics    文件:BoundsPopupMenuListener.java   
protected void popupWider(BasicComboPopup popup) {
    JList list = popup.getList();

    // Determine the maximimum width to use:
    // a) determine the popup preferred width
    // b) limit width to the maximum if specified
    // c) ensure width is not less than the scroll pane width

    int popupWidth = list.getPreferredSize().width + 5 // make sure horizontal scrollbar doesn't appear
            + getScrollBarWidth(popup, scrollPane);

    if (maximumWidth != -1) {
        popupWidth = Math.min(popupWidth, maximumWidth);
    }

    Dimension scrollPaneSize = scrollPane.getPreferredSize();
    popupWidth = Math.max(popupWidth, scrollPaneSize.width);

    // Adjust the width

    scrollPaneSize.width = popupWidth;
    scrollPane.setPreferredSize(scrollPaneSize);
    scrollPane.setMaximumSize(scrollPaneSize);
}
项目:freeVM    文件:MetalComboBoxUITest.java   
public void testGetMinimumSize() throws Exception {
    ui.setComboBox(comboBox);
    ComboPopup popup = new BasicComboPopup(comboBox);
    ui.setPopup(popup);
    ui.setListBox(popup.getList());
    ui.installListeners();
    comboBox.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
    Dimension listPart = new BasicComboBoxRenderer().getListCellRendererComponent(
            popup.getList(), "", -1, false, false).getPreferredSize();
    Dimension expectedSize = new Dimension(listPart.width + listPart.height + 8,
            listPart.height + 8);
    assertEquals(expectedSize, ui.getMinimumSize(null));
    assertEquals(expectedSize, ui.getCachedMinimumSize());
    ui.setCachedMinimumSize(new Dimension(100, 100));
    assertEquals(ui.getCachedMinimumSize(), ui.getMinimumSize(null));
    comboBox.addItem("aaa");
    listPart = new BasicComboBoxRenderer().getListCellRendererComponent(popup.getList(),
            "aaa", -1, false, false).getPreferredSize();
    expectedSize = new Dimension(listPart.width + listPart.height + 8, listPart.height + 8);
    assertEquals(expectedSize, ui.getMinimumSize(null));
}
项目:freeVM    文件:MetalComboBoxUITest.java   
public void testGetMinimumSize() throws Exception {
    ui.setComboBox(comboBox);
    ComboPopup popup = new BasicComboPopup(comboBox);
    ui.setPopup(popup);
    ui.setListBox(popup.getList());
    ui.installListeners();
    comboBox.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
    Dimension listPart = new BasicComboBoxRenderer().getListCellRendererComponent(
            popup.getList(), "", -1, false, false).getPreferredSize();
    Dimension expectedSize = new Dimension(listPart.width + listPart.height + 8,
            listPart.height + 8);
    assertEquals(expectedSize, ui.getMinimumSize(null));
    assertEquals(expectedSize, ui.getCachedMinimumSize());
    ui.setCachedMinimumSize(new Dimension(100, 100));
    assertEquals(ui.getCachedMinimumSize(), ui.getMinimumSize(null));
    comboBox.addItem("aaa");
    listPart = new BasicComboBoxRenderer().getListCellRendererComponent(popup.getList(),
            "aaa", -1, false, false).getPreferredSize();
    expectedSize = new Dimension(listPart.width + listPart.height + 8, listPart.height + 8);
    assertEquals(expectedSize, ui.getMinimumSize(null));
}
项目:jmt    文件:SteppedComboBoxUI.java   
@Override
protected ComboPopup createPopup() {
    BasicComboPopup popup = new BasicComboPopup(comboBox) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void show() {
            Dimension popupSize = ((SteppedComboBox) comboBox).getPopupSize();
            popupSize.setSize(popupSize.width, getPopupHeightForRowCount(comboBox.getMaximumRowCount()));
            Rectangle popupBounds = computePopupBounds(0, comboBox.getBounds().height, popupSize.width, popupSize.height);
            scroller.setMaximumSize(popupBounds.getSize());
            scroller.setPreferredSize(popupBounds.getSize());
            scroller.setMinimumSize(popupBounds.getSize());
            list.invalidate();
            int selectedIndex = comboBox.getSelectedIndex();
            if (selectedIndex == -1) {
                list.clearSelection();
            } else {
                list.setSelectedIndex(selectedIndex);
            }
            list.ensureIndexIsVisible(list.getSelectedIndex());
            setLightWeightPopupEnabled(comboBox.isLightWeightPopupEnabled());

            show(comboBox, popupBounds.x, popupBounds.y);
        }
    };
    popup.getAccessibleContext().setAccessibleParent(comboBox);
    return popup;
}
项目:QN-ACTR-Release    文件:SteppedComboBoxUI.java   
@Override
protected ComboPopup createPopup() {
    BasicComboPopup popup = new BasicComboPopup(comboBox) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void show() {
            Dimension popupSize = ((SteppedComboBox) comboBox).getPopupSize();
            popupSize.setSize(popupSize.width, getPopupHeightForRowCount(comboBox.getMaximumRowCount()));
            Rectangle popupBounds = computePopupBounds(0, comboBox.getBounds().height, popupSize.width, popupSize.height);
            scroller.setMaximumSize(popupBounds.getSize());
            scroller.setPreferredSize(popupBounds.getSize());
            scroller.setMinimumSize(popupBounds.getSize());
            list.invalidate();
            int selectedIndex = comboBox.getSelectedIndex();
            if (selectedIndex == -1) {
                list.clearSelection();
            } else {
                list.setSelectedIndex(selectedIndex);
            }
            list.ensureIndexIsVisible(list.getSelectedIndex());
            setLightWeightPopupEnabled(comboBox.isLightWeightPopupEnabled());

            show(comboBox, popupBounds.x, popupBounds.y);
        }
    };
    popup.getAccessibleContext().setAccessibleParent(comboBox);
    return popup;
}
项目:OpenJSharp    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:jdk8u-jdk    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:jdk8u-jdk    文件:bug4743225.java   
public static BasicComboPopup getPopup() {
    AccessibleContext c = cb.getAccessibleContext();
    for(int i = 0; i < c.getAccessibleChildrenCount(); i ++) {
        if (c.getAccessibleChild(i) instanceof BasicComboPopup) {
            return (BasicComboPopup) c.getAccessibleChild(i);
        }
    }
    throw new AssertionError("No BasicComboPopup found");
}
项目:openjdk-jdk10    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:openjdk-jdk10    文件:bug4743225.java   
public static BasicComboPopup getPopup() {
    AccessibleContext c = cb.getAccessibleContext();
    for(int i = 0; i < c.getAccessibleChildrenCount(); i ++) {
        if (c.getAccessibleChild(i) instanceof BasicComboPopup) {
            return (BasicComboPopup) c.getAccessibleChild(i);
        }
    }
    throw new AssertionError("No BasicComboPopup found");
}
项目:openjdk9    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:openjdk9    文件:bug4743225.java   
public static BasicComboPopup getPopup() {
    AccessibleContext c = cb.getAccessibleContext();
    for(int i = 0; i < c.getAccessibleChildrenCount(); i ++) {
        if (c.getAccessibleChild(i) instanceof BasicComboPopup) {
            return (BasicComboPopup) c.getAccessibleChild(i);
        }
    }
    throw new AssertionError("No BasicComboPopup found");
}
项目:Java8CN    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:workcraft    文件:FlatComboBox.java   
@Override
protected ComboPopup createPopup() {
    BasicComboPopup popup = new BasicComboPopup(comboBox) {
        @Override
        protected Rectangle computePopupBounds(int px, int py, int pw, int ph) {
            return super.computePopupBounds(px, py, Math.max(comboBox.getPreferredSize().width, pw), ph);
        }
    };
    popup.getAccessibleContext().setAccessibleParent(comboBox);
    return popup;
}
项目:jdk8u_jdk    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:jdk8u_jdk    文件:bug4743225.java   
public static BasicComboPopup getPopup() {
    AccessibleContext c = cb.getAccessibleContext();
    for(int i = 0; i < c.getAccessibleChildrenCount(); i ++) {
        if (c.getAccessibleChild(i) instanceof BasicComboPopup) {
            return (BasicComboPopup) c.getAccessibleChild(i);
        }
    }
    throw new AssertionError("No BasicComboPopup found");
}
项目:lookaside_java-1.8.0-openjdk    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:lookaside_java-1.8.0-openjdk    文件:bug4743225.java   
public static BasicComboPopup getPopup() {
    AccessibleContext c = cb.getAccessibleContext();
    for(int i = 0; i < c.getAccessibleChildrenCount(); i ++) {
        if (c.getAccessibleChild(i) instanceof BasicComboPopup) {
            return (BasicComboPopup) c.getAccessibleChild(i);
        }
    }
    throw new AssertionError("No BasicComboPopup found");
}
项目:NoMoreDropboxMSN    文件:MSNView.java   
/**
 * Updates the color of the user state combo box
 */
private void updateStateBoxColor(){
        ComboUserState.setForeground(state_colors[ComboUserState.getSelectedIndex()]);
        Object child = ComboUserState.getAccessibleContext().getAccessibleChild(0);
        BasicComboPopup popup = (BasicComboPopup)child;
        JList list = popup.getList();
        list.setSelectionForeground(state_colors[ComboUserState.getSelectedIndex()]);
        list.setSelectionBackground(Color.WHITE);
}
项目:DropboxMSN    文件:MSNView.java   
/**
 * Updates the color of the user state combo box
 */
private void updateStateBoxColor(){
        ComboUserState.setForeground(state_colors[ComboUserState.getSelectedIndex()]);
        Object child = ComboUserState.getAccessibleContext().getAccessibleChild(0);
        BasicComboPopup popup = (BasicComboPopup)child;
        JList list = popup.getList();
        list.setSelectionForeground(state_colors[ComboUserState.getSelectedIndex()]);
        list.setSelectionBackground(Color.WHITE);
}
项目:infobip-open-jdk-8    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:infobip-open-jdk-8    文件:bug4743225.java   
public static BasicComboPopup getPopup() {
    AccessibleContext c = cb.getAccessibleContext();
    for(int i = 0; i < c.getAccessibleChildrenCount(); i ++) {
        if (c.getAccessibleChild(i) instanceof BasicComboPopup) {
            return (BasicComboPopup) c.getAccessibleChild(i);
        }
    }
    throw new AssertionError("No BasicComboPopup found");
}
项目:jdk8u-dev-jdk    文件:JPopupMenu.java   
private void fireActiveDescendant() {
    if (JPopupMenu.this instanceof BasicComboPopup) {
        // get the popup list
        JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
        if (popupList == null) {
            return;
        }

        // get the first selected item
        AccessibleContext ac = popupList.getAccessibleContext();
        AccessibleSelection selection = ac.getAccessibleSelection();
        if (selection == null) {
            return;
        }
        Accessible a = selection.getAccessibleSelection(0);
        if (a == null) {
            return;
        }
        AccessibleContext selectedItem = a.getAccessibleContext();

        // fire the event with the popup invoker as the source.
        if (selectedItem != null && invoker != null) {
            AccessibleContext invokerContext = invoker.getAccessibleContext();
            if (invokerContext != null) {
                // Check invokerContext because Component.getAccessibleContext
                // returns null. Classes that extend Component are responsible
                // for returning a non-null AccessibleContext.
                invokerContext.firePropertyChange(
                    ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
                    null, selectedItem);
            }
        }
    }
}
项目:jdk8u-dev-jdk    文件:bug4743225.java   
public static BasicComboPopup getPopup() {
    AccessibleContext c = cb.getAccessibleContext();
    for(int i = 0; i < c.getAccessibleChildrenCount(); i ++) {
        if (c.getAccessibleChild(i) instanceof BasicComboPopup) {
            return (BasicComboPopup) c.getAccessibleChild(i);
        }
    }
    throw new AssertionError("No BasicComboPopup found");
}