Le problème: J'ai une zone de liste modifiable qui doit être insérée dans un espace fixe dans le cadre d'une application Swing. Cependant, son contenu peut être assez long. Je voudrais que la boîte elle-même soit de taille fixe, tronquant le contenu. Lorsque la flèche vers le bas est cliquée, cependant, je voudrais qu'il ressemble à un HTML sélectionner et montrer une boîte qui est assez longue pour correspondre à l'entrée la plus longue que la liste déroulante. Le ListCellRenderer peut être le moyen d'aller sur celui-ci; Je ne suis pas sûr.JComboBox avec une plus grande largeur de liste déroulante
Il se peut aussi que j'ai besoin d'une sorte d'implémentation de javax.swing.plaf.basic.ComboPopup et de mon propre ComboBoxUI. J'ai parcouru le code SwingUtilities pour comprendre comment le DefaultListCellRenderer fait ses calculs. Il utilise un JLabel et le BasicLabelUI appelle SwingUtilities.layoutCompoundLabel (éventuellement dans la pile d'appels) qui effectue le découpage. BasicComboPopup, la seule mise en œuvre de ComboPopup dans le code Java 6 je fouillais dans, semblait déléguer à: JList.computeVisibleRect (Component c, Rectangle visibleRect)
Quelqu'un at-il fait cela avant? Des pointeurs?
Il y avait un bon point de départ ... –
@CostisAivalis a fixé cela avec Wayback machine. –
Wow! Bonne idée! –