wyciąganie informacji z Jlist, operacje "na żywo"

0

Witam. mam do zrobienia projekcik. jestem już niemalże na końcu ale brakuje mi kilka istotnych rzeczy i nie mogę iść dalej. Pierwsza sprawa to wyjmowanie informacji z Jlista wcześniej do niego wpisanych. Przykład: podaje imie, nazwisko, plec i klikam dodaj. dodaje sie nowa pozycja w jliscie ale teraz chce zrobic na odwrot. klikajac na pozycje w jlisie chce aby to pojawilo sie w tych lukach na imie nazwisko itd. z imieniem i nazwiskiem nie bylo problemu. gorzej z płcią oponieważ tam są dwie opcje do wyboru. będzie trzeba jakiegoś ifa, ale nie wiem jak sie odwolac to bgroupa w ktorym sa obydwa radiobuttony. daje fragment kodu dla wyjasnenia

 Jlistaosob.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                imie.setText(listaosob.get(Jlistaosob.getSelectedIndex()).imie);
                nazwisko.setText(listaosob.get(Jlistaosob.getSelectedIndex()).nazwisko);
        if(((listaosob.get(Jlistaosob.getSelectedIndex()).plec=="male")))
            bgroup.getSelection(); //////////////zle 

chodzi tu o dwie ostatnie linijki ktore nie dzialaja.
druga sprawa to zmienianie na żywo. ogolnie koncepcja mojego projektu to edytor postaci. po dodaniu imienia nazwiska plci wzrostu itd rysuje mi sie postac po prawej stronie i jest dodawana do listy postaci. chce aby po narysowaniu postaci mozna bylo ja zmienac na zywo. czyli jak wpisze wzrost i klikne zastosujto zeby on sie zmienil. ale to miejsce na wzrost i sama postac sa w 2 innych panelach i ogoonie w 2 roznych klasach i nie wiem przez to jak sie do tego odwolac. to chyhba wszystko jakby ktos chcial wyglad programu to pisac podesle jezeli to ma pomoc. Pozdrawiam i licze na pomoc

0

jlistaosob to jest komponent w ktorum sa umieszczane dane. a listaosob to lista stworzona ktora jest przekazywana do komponentu.
Co do odpowiedzi o gettery, to tak uzywalem ich ale w innym przypadku. bo tutaj ja chce wpisac do textfielda dane a nie pobrac je. z plcia sobie poradzilem ale zostaje druga kwestia Nowa:
mianowicie chce zrobic to samo co z wpisywaniem imienia i nazwiska do text fieldow, tylko ze z wzrostem czyli integerem. Tam bylo latwo bo setText to String. a ja potrzebuje inta bo wpisuje wzrost (liczby) a nie literki (imie). jest do tego jakas inna funkcja? wrzuce Wam screen z programu zeby jasniej sie patrzylo.

0
int n = 77;
...setText(n+"");
0

dzieki panowie. uporalem sie z wiekszoscia klopotow, jiz jestem prawie na finiszu. mam dwa problemy. mam funkkcje która usuwa pojedynczy wpis z listy, oraz ktora usuwa wszystko. sek w tym ze ta ktora usuwa pojedynczy w ogole nie dziala, a ata co usuwa wszystkie usuwa tylko wtedy gdy dodam kilka osob do listy i Od razu jej uzyje. natomiast gdy np dodam kilka osob, klikne na nie (ogolnie program dziala tak ze po kliknieciu na osobe w liscie pokazuja sie jej statystyki i wyglad) no i jak tak ponaklikam na kilka osob i bede chcial usuna je wszystkie to wywala blad. Fragment kodu tych dwoch funckji:

JButton usun = new JButton("Usu\u0144 \r\nzaznaczone");
        usun.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if (JOptionPane.showConfirmDialog(null, "Na pewno usuąć?") == JOptionPane.YES_OPTION)

                {
                    int zazn = Jlistaosob.getSelectedIndex();
                    if (Jlistaosob.isSelectedIndex(zazn) == false)
                        JOptionPane.showMessageDialog(null,
                                "Zaznacz indeks do usunięcia!");
                    else
                        model.removeElementAt(zazn);
                    //Jlistaosob.clearSelection();
                    
                //    Jlistaosob.repaint();
                        //model.removeElementAt(zazn);
                }
            }
        });
        usun.setFont(new Font("Comic Sans MS", Font.PLAIN, 11));
        panel_2.add(usun, gbc_usun);

        JButton btnNewButton = new JButton("Usu\u0144 wszystkie");
        btnNewButton.setFont(new Font("Comic Sans MS", Font.PLAIN, 11));
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (JOptionPane.showConfirmDialog(null,
                        "Czy na pewno usunąć całość?") == JOptionPane.YES_OPTION)
                    
                    model.clear();
                    //Jlistaosob.removeAll();  ///////////////////////////////TO WSZYSTKO NIE DZIALA
                //panel.removeAll();            ////////////////////////////////////////// /
                //panel.updateUI();               //////////////////////////////////////////////////
                panel.wyczysc(panel.getX(),panel.getY(),panel.getHeight(), panel.getWidth());            

            }

        }); 

funkcja wyczysc jest ok. bo zakomentowalem ja i dalej to samo.

Druga kwestia. Jest jakas funkcja ktora pozwala rysowac na wierchu? chcialem narysowac oko na glowie ale ono rysuje sie pod spodem.

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