Как изменить стиль стрелки в JComboBox
предположим, я хочу использовать пользовательское изображение для стрелки в JComboBox, как я могу это сделать?
Я понимаю, что это возможно с помощью синтезатора xml-файлов или, возможно, даже UIManager.ставить.(..), но я не знаю как. Все, что я хочу сделать в это время, это изменить изображение стрелки на что-то другое, либо программно, либо просто переопределяя изображение, которое оно использует. Как именно я могу это сделать?
1 ответов
можно переопределить createArrowButton()
на BasicComboBoxUI
. BasicArrowButton
является удобной отправной точкой.
class ColorArrowUI extends BasicComboBoxUI {
public static ComboBoxUI createUI(JComponent c) {
return new ColorArrowUI();
}
@Override protected JButton createArrowButton() {
return new BasicArrowButton(
BasicArrowButton.SOUTH,
Color.cyan, Color.magenta,
Color.yellow, Color.blue);
}
}
затем установить его.
JComboBox combo = new JComboBox();
combo.setUI(ColorArrowUI.createUI(combo));