Portál AbcLinuxu, 14. listopadu 2025 11:56
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 GridBagLayoutu, 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.