Удалить стрелку вниз в JComboBox

1

Я хочу создать автоматическую полную программу, и для этого я использую JComboBox.

Теперь я хочу удалить стрелку вниз в JComboBox. Как удалить стрелку?

  • 4
    Почему? Не изобретайте пользовательские виджеты, пользователи запутаются!
  • 2
    потому что я хочу выглядеть так, как при поиске в Google, вы не можете видеть стрелку внизу, и это именно то, что я хочу видеть в моем JComboBox. Есть идеи по этому поводу?
Теги:
intellij-idea
swing

1 ответ

2
Лучший ответ

JComboBox является составной JComponent и содержит JButton с Icon, вы можете удалить это с помощью setIcon (null) или заменить другим значком

например (как это сделать с помощью простых шагов, УВЕДОМЛЕНИЕ допустимо только для Metal Look and Feel)

        JComboBox coloredArrowsCombo = myComboBox;
        BufferedImage coloredArrowsImage = null;
        try {
            coloredArrowsImage = ImageIO.read(AppVariables.class.getResource("resources/passed.png"));
        } catch (IOException ex) {
            Logger.getLogger(someClessName.class.getName()).log(Level.SEVERE, null, ex);
        }
        if (!(coloredArrowsImage == null)) {
            Icon coloredArrowsIcon = new ImageIcon(coloredArrowsImage);
            Component[] comp = coloredArrowsCombo.getComponents();
            for (int i = 0; i < comp.length; i++) {
                if (comp[i] instanceof MetalComboBoxButton) {
                    MetalComboBoxButton coloredArrowsButton = (MetalComboBoxButton) comp[i];
                    coloredArrowsButton.setComboIcon(coloredArrowsIcon);
                    break;
                }
            }
        }

EDIT: для лучшего вывода вы можете разместить здесь coloredArrowsButton.setRolloverIcon(someIcon);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню