/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
"Klikbar" liste med Strings...
Fra : Jonas Christensen


Dato : 22-01-02 13:01

Hej!

Jeg er relativt ny indenfor Java-programmering, og jeg er kommet til at
sidde lidt fast i et lille program, jeg er ved at lave.

Jeg har brug for at lave en liste, der består af en række Strings fra et
array - der skal altså kunne tilføjes og fjernes elementer fra listen. Hver
af disse strings skal så være tilknyttet én eller anden form for
ActionListener, således at når der klikkes på én af dem, skal indholdet i et
JTextArea ændre sig...
Især det første har jeg problemer med. Hvilken form for liste skal jeg bruge
til dette?? Jeg har rodet lidt med både JTable, JList og JTextArea, og jeg
kan sagtens få data sat ind. Jeg kan bare ikke finde ud af at tilføje
muligheden for at aktivere en metode ved at trykke på et element i listen.

Hvad gør jeg??

- Jonas



 
 
Lars Dam (22-01-2002)
Kommentar
Fra : Lars Dam


Dato : 22-01-02 13:22

On Tue, 22 Jan 2002 13:00:47 +0100, "Jonas Christensen" <admin@zaf.dk>
wrote:

>Hej!
>
>Jeg er relativt ny indenfor Java-programmering, og jeg er kommet til at
>sidde lidt fast i et lille program, jeg er ved at lave.
>
>Jeg har brug for at lave en liste, der består af en række Strings fra et
>array - der skal altså kunne tilføjes og fjernes elementer fra listen. Hver
>af disse strings skal så være tilknyttet én eller anden form for
>ActionListener, således at når der klikkes på én af dem, skal indholdet i et
>JTextArea ændre sig...
>Især det første har jeg problemer med. Hvilken form for liste skal jeg bruge
>til dette?? Jeg har rodet lidt med både JTable, JList og JTextArea, og jeg
>kan sagtens få data sat ind. Jeg kan bare ikke finde ud af at tilføje
>muligheden for at aktivere en metode ved at trykke på et element i listen.
>
>Hvad gør jeg??


Det kan gøres på mange måder; meen een af mine favoritter er at lave
en inner class der indeholder det data object der repræsenteres, og
overstyre toString() så den returnere den korrekte streng i listen;
eks.:



class ListData{
Person p = null;
public ListData( Person p ){
this.p = p;
}
public String toString(){
// denne metode giver den streng
// der bruges i JList
return p.getFirstName()+" "+p.getLastName();
}
}

Vector v = new Vector();
v.add( new ListData( new Person(...) ) );
v.add( new ListData( new Person(...) ) );
v.add( new ListData( new Person(...) ) );
v.add( new ListData( new Person(...) ) );

jlist.setListData(v);

Når der så klikkes på listen, så lav en 'getSelectedItem()', denne er
en ListData type, og fra ListData, kan du tage 'p', og data derfra kan
du præsentere som du har lyst (i et text area f.eks.).



>- Jonas
>

vh. ld

---
"Time is the fire in which we burn"

Jonas Christensen (22-01-2002)
Kommentar
Fra : Jonas Christensen


Dato : 22-01-02 14:22

> Det kan gøres på mange måder; meen een af mine favoritter er at lave
> en inner class der indeholder det data object der repræsenteres, og
> overstyre toString() så den returnere den korrekte streng i listen;

Mange tak for det hurtige svar... Kombineret med
http://java.sun.com/docs/books/tutorial/uiswing/components/list.html gav det
lige hvad jeg manglede.

- Jonas



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste