Как сделать так, чтобы мой Swing JComboBox расширялся по горизонтали, а не по вертикали?
Я работаю с Swing и добавляю JComboBox в JPanel. Обычно, когда вы щелкаете JComboBox, он перечисляет возможные варианты по вертикали (аналогично полям со списком на любом веб-сайте).
Тем не менее, я хотел бы, чтобы ComboBox расширялся по горизонтали - есть ли способ сделать это без написания пользовательского рендерера?
Вертикальное расширение
[ ComboBox ]
- Option
- Option
- Option
Горизонтальное расширение
[ ComboBox ] -- [ Option | Option | Option | Option ]
1 ответ
Решение
Я уверен, что ответ на ваш вопрос "нет". Вам придется построить хотя бы часть рендера, чтобы сделать это для вас. Но вот начало:
//Override the createPopup method - everything else can stay the same
public static CustomRenderer extends MetalComboBoxUI{
@Override
protected ComboPopup createPopup() {
// Do something different here
ComboPopup result = super.createPopup();
return result;
}
}
И вы захотите установить этот интерфейс на ComboBox, к которому вы хотите применить box.setUI(new CustomRenderer());