Avatar billede debugger Nybegynder
19. december 2001 - 06:53 Der er 4 kommentarer

Elementerne i en Jlist

Jeg laver en Jlist (swing) med nogle poster fra en database.

Men jeg kan kun få oplysninger om det valgte element ved hjælp af \"minLise.getSelectedIndex()\"

Kan nogen ikke give et eksempel på en Jlist, hvor man når man vælger \"Æble\" kan få af vide, at \"Æble\" har id nummeret \"1\" i stedet for at den er \"selectedIndex = 0\"

Altså

ID    Navn
----------------
1    Æble
2    Bannan
3    Appelsin

Kan I følge mig...?

Kort sagt: har en Jlist ikke andre metoder en \"getSelectedIndex\" til at vise hvilket punkt, der er valgt?
Avatar billede logical Nybegynder
19. december 2001 - 07:51 #1
Object list.getSelectedValue()
eller
Object[] list.getSelectedValues() // Hvis der er flere valgt.
Avatar billede debugger Nybegynder
19. december 2001 - 16:42 #2
Takker.. det hjalp en smule, men lad mig lige prøve igen. (Undskylder, at jeg er besværlig :o))

Jeg putter nogle poster fra en database ind i listen.

Database_ID    Index      Navn
-----------------------------------
3              0          Æble
45              1          Pære
34              2          Appelsin
2              3          Banan

med getSelectedValue() får jeg returneret \"Æble\" når jeg klikker på \"Æble\", og med getSelectedIndex() får jeg \"0\" returneret ved klik på \"æble\"

Jeg vil gerne kunne smide den asiocerede ID med ind i listen som vist, og få den ID returneret fra listen.

Lige nu indeholder listen bare strenge. Uden Id numrene. Jeg ved ikke om man kan få de id numre med.

Jeg mener.. det er jo ret basalt skulle jeg mene, da man i HTML kunne lave flg:

<select name=\"minListe\">
<option value=\"3\">Æble</option>
<option value=\"45\">Pære</option>
<option value=\"34\">Appelsin</option>
<option value=\"2\">Banan</option>
</select>

.. og dermed få retuneret ID nummeret på det valgte element....


Men ellers kan man jo fuske med getSelectedValue(), så hvert fald foreløbigt mange tak for det!
Avatar billede lbhansen Nybegynder
19. december 2001 - 18:00 #3
det du nok gør nu er at du indsætter en String =\"Æble\" ind i din JList.

Hvis du istedet har et objekt der afspejler din databaserække fx.
public class MyRow(

  private String navn;
  private int index;

  public void setNavn(String navn){this.navn = navn;}
  public String getNavn(){return navn;}

  public void setIndex(int index){this.index = index;}
  public int getIndex(){return index;}

  public String toString(){return navn;}
}

Hvis du fx indsætter dette ojekt i din JList, og
kalder getSelectedValue(), så er det objektet du får retur, og du kan derefter udtrække dit navn og index.
Avatar billede lerchedahl Nybegynder
20. december 2001 - 22:19 #4
Ibhansen >>
Du kan så skrive en ListItemRenderer, der blot udskriver det associerede navn. Denne kan f.eks. bygges ud af en JLabel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester