¿Es posible ocultar la flecha que se muestra en JComboBox?
Intenté configurar:
combo.getComponent(0).setSize(new Dimension(1,1));
Pero parece que no funciona
¿Es posible ocultar la flecha que se muestra en JComboBox?
Intenté configurar:
combo.getComponent(0).setSize(new Dimension(1,1));
Pero parece que no funciona
Debe crear una nueva IU de cuadro combinado para eso:
combo.setUI(new BasicComboBoxUI() {
protected JButton createArrowButton() {
return new JButton() {
public int getWidth() {
return 0;
}
};
}
});
Pero tenga cuidado de heredar de la interfaz de usuario base que coincida con su aspecto actual.
Por ejemplo, si usa Sustancia, debe derivar su nueva IU de SubstanceComboBoxUI
en lugar de BasicComboBoxUI
. De lo contrario, es posible que pierda las características proporcionadas por su L & F actual.
EDITAR: Si desea que esto tenga algún tipo de función de autocompletado, es mejor seguir con una función normal JTextField
y use AutoCompleteDecorator
de SwingX.
He estado buscando una solución a esto por un tiempo, y resulta que todo lo que realmente toma es recordar eso JComboBox
es un componente compuesto
for (Component component : TheComboBox.getComponents())
{
if (component instanceof JButton) {
TheComboBox.remove(component);
}
}
Gracias ir a mKorbel Para el recordatorio.