Portál AbcLinuxu, 10. května 2025 03:04
Dělám v Javě program a potřebuji udělat do JComboBoxu dlouhý název. S textem na více řádků není problém (stejně to používám i v JLabelu):
JComboBox cb = new JComboBox(); cb.addItem("111 - Všeobecná
zdravotní pojišťovna");
Takto udělám krásný dvouřádkový text na výběr (viz 1. obrázek). Potom ale chci, aby se po vybrání zobrazil text celý dvořádkový, ale ComboBox je pořád jednořádkový a dopadne to tak, že to vypadá jako na druhém obrázku. Zkoušel jsem mu dát MinimumSize
, PrefferedSize
a nic nepomohlo. Ještě dodám, že celý JComboBox
je uzavřený v jednom poli GridBagLayout
u, což by ale nemělo vadit, protože jsem mu nastavil ipady = 100;
, takže místa by měl mít dost... Prosím poraďte někdo, co s tím...
cb.getEditor().getEditorComponent().setMinimumSize()
. Alebo si urobiť vlastný editor komponent zdedený z BasicComboBoxEditor a nastaviť ho cez setEditor().
JComboBox
editorem je JTextField
(případně jeho podtřída, jen mírně upravená) a ten je pouze jednořádkový. Řešením je nastavit vhodný editor.
Co se týče toho, co je to vhodný editor, napadají mě dvě varianty:
JTextField
, který umožní na jednom řádku zpracovat text, který potom bude v pop-upu zobrazen jako víceřádkový
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.