Tengo un JComboBox
editable que contiene una lista de valores de una sola letra. Debido a eso, el combobox es muy pequeño.¿Cómo puedo cambiar el ancho de una lista desplegable JComboBox?
Cada letra tiene un significado especial que a veces no es claro para el usuario en caso de letras poco utilizadas. Por eso he creado un ListCellRenderer
personalizado que muestra el significado de cada letra en la lista desplegable.
Desafortunadamente, esta explicación no cabe en el menú desplegable porque es demasiado pequeña, porque tiene el mismo ancho que el cuadro combinado.
¿Hay alguna manera de hacer que la lista desplegable sea más amplia que el combobox?
Esto es lo que quiero lograr:
---------------------
| Small JCombobox | V |
--------------------------------------------
| "Long item 1" |
--------------------------------------------
| "Long item 2" |
--------------------------------------------
| "Long item 3" |
--------------------------------------------
No puedo cambiar el ancho del cuadro combinado porque la aplicación es una recreación de un antiguo uso de la herencia donde algunas cosas tienen que ser exactamente como estaban antes. (En este caso, el cuadro combinado debe mantener su pequeño tamaño a toda costa)
Ambos métodos parecen funcionar pero popupMenuWillBecomeVisible solo funciona si también proporciona un ListCellRenderer personalizado. El predeterminado parece cortar las cuerdas en el tamaño original. –
La primera dosis no me funciona cuando hay menos de 8 elementos en JComboBox (OSX). Y el segundo tiene el aspecto de Windows incluso en MAC ... – Grains
La primera solución no funciona, ya que se llama a popupMenuWillBecomeVisible antes de que se establezca el tamaño (ver show() en BasicComboPopup), por lo que cualquier tamaño que establezca en ese oyente será sobrescrito –