Скажем, я хочу использовать пользовательское изображение для стрелки в JComboBox, как я могу сделать это?
Я понимаю, что это - возможное использование XML-файлов синтезатора или возможно даже UIManager.put (...), но я не знаю как. Все, что я хочу сделать в это время, является изменением изображение стрелки к чему-то еще, или программно или даже просто переопределение изображения, которое оно использует. Как точно я могу сделать это?
Вы можете переопределить 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));