[Java,Aplet] problem z ComboBoxem

0

witam.. otoz mam taki problem.. mam

   public Map<String,Postac> postaci = new HashMap<String,Postac>();

(co moze niektorzy z poprzednich postow kojarza ;) )

i chcialabym wyswietlic wszystkie elementy tej Mapki w ComboBoxie. jako ze dodawanie konkretnych elementow postaci tak po prostu jComboBox.addItem wyswietla dziwne nazwy javowe a nie ladne stringi (np klucz) to chcialam dodac juz caly element - tablice.. jednak cos nie dziala..

public void wyswietlPostaci() {
        String[] tabelka = new String[postaci.size()]; 
        int i=0;
        for(Map.Entry entry : postaci.entrySet()){
            Postac p = (Postac) entry.getValue();
                      
            if (p != null){
               tabelka[i] = p.toString();     // tutaj NullPointerException   
                     i++;       
                                            
            }
            if (tabelka!=null){
                rpg.RpgJApplet.jComboBoxPokazWszystkie.addItem(tabelka);
            }
            else rpg.RpgJApplet.jLabelPokazWszystkieError.setVisible(true);
        }
    }

i z tego co sprawdzalam raczej nie dziala tabelka[i]. jednak nie wiem jak to zastapic zeby ladnie dodawalo stringi kazdej dodanej juz postaci...

bede wdzieczna za kazda pomoc / wskazowke :)

0
Naiya napisał(a)

jako ze dodawanie konkretnych elementow postaci tak po prostu jComboBox.addItem wyswietla dziwne nazwy javowe a nie ladne stringi (np klucz)

a przeładowałaś w klasie Postac metodę toString()?

Nie rób z tabelką, nie ma sensu.

public void wyswietlPostaci() {
        for(Map.Entry<String, Postac> entry : postaci.entrySet()){
                rpg.RpgJApplet.jComboBoxPokazWszystkie.addItem(entry.getValue());
        }
    }

A jeżeli chcesz wyświetlić klucz, to zamiast entry.getValue() wstawiasz entry.getKey()

0

looool :D i znow najprostsze rozwiazanie gora :D

dzieki [browar]

1 użytkowników online, w tym zalogowanych: 0, gości: 1