Reputation: 805
I wan't to change the border of the popup/selection part of the JComboBox.
Note that the UI is BasicComboBoxUI
I've tried:
weaponCB.setRenderer(new DefaultListCellRenderer() {
@Override
public void paint(Graphics g) {
setBorder(whiteBorder)
//whiteBorder is a white border
super.paint(g);
}
});
but it gave me this:
and:
for (int i=0; i<weaponCB.getComponentCount(); i++)
{
if (weaponCB.getComponent(i) instanceof AbstractButton)
{
((AbstractButton)weaponCB.getComponent(i)).setBorder(whiteBorder);
}
}
but it gave me this:
what i wan't is something like this: (it was done in photoshop)
I don't mind if it's not exactly the same, I just wan't it similar.
does anyone have any ideas on how to do this?
Upvotes: 1
Views: 1408
Reputation: 324197
Something like this works:
Object child = comboBox.getAccessibleContext().getAccessibleChild(0);
BasicComboPopup popup = (BasicComboPopup)child;
JList list = popup.getList();
list.setBorder( whiteBorder );
Upvotes: 2