/ 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
JTable
Fra : Bjarne


Dato : 04-07-01 21:07

Jeg har en JTable hvor der 2 kolonner og et dynamisk antal rækker.
Selve tabellen er bygget op omkring en TableModel.

Mit spørgsmål lyder følgende:
Når vælger en række med mus så skal jeg have de værdier der står i de 2
kolonner i den valgte række lagt over i 2 JText.
Hvordan gør man det???


På forhånd tak

Bjarne Pedersen

 
 
The MaXx (04-07-2001)
Kommentar
Fra : The MaXx


Dato : 04-07-01 22:45

> Mit spørgsmål lyder følgende:
> Når vælger en række med mus så skal jeg have de værdier der står i de 2
> kolonner i den valgte række lagt over i 2 JText.
> Hvordan gør man det???

int row = JTable.getSelectedRow();

JText1.setText(JTable.getValueAt(row, 0) );

JText2.setText(JTable.getValueAt(row, 1) );

Bemærk at getValueAt returnerer et Object, og der bruges derfor deres
toString metode til JText. Jeg kan ikke lige huske hvordan dette udarter sig
med int, men jeg mener at de laves til et Object når de sættes ind i
JTablen.

The MaXx



Flemming K. Jensen (05-07-2001)
Kommentar
Fra : Flemming K. Jensen


Dato : 05-07-01 10:42

On Wed, 4 Jul 2001 23:45:26 +0200, "The MaXx" <themaxx@mail.dk> wrote:

>> Mit spørgsmål lyder følgende:
>> Når vælger en række med mus så skal jeg have de værdier der står i de 2
>> kolonner i den valgte række lagt over i 2 JText.
>> Hvordan gør man det???
>
>int row = JTable.getSelectedRow();
>
>JText1.setText(JTable.getValueAt(row, 0) );
>
>JText2.setText(JTable.getValueAt(row, 1) );
>
>Bemærk at getValueAt returnerer et Object, og der bruges derfor deres
>toString metode til JText. Jeg kan ikke lige huske hvordan dette udarter sig
>med int, men jeg mener at de laves til et Object når de sættes ind i
>JTablen.

Modellen laver man jo selv, så man vil typisk opbevare dem som
int, og smide dem i en wrapper når man returnerer dem fra sin
implementation af getValueAt.

>
>The MaXx
>
>


/Flemming Jensen


Bjarne (05-07-2001)
Kommentar
Fra : Bjarne


Dato : 05-07-01 16:35

>
> Modellen laver man jo selv, så man vil typisk opbevare dem som
> int, og smide dem i en wrapper når man returnerer dem fra sin
> implementation af getValueAt.
>
>>
>>The MaXx
>>
>>
>
>
> /Flemming Jensen
>
Du har fuldstændig ret Flemming jeg har lavet modellen selv derfor virker
det som The MaXx har skrevet hellere ikke.
Du skrev noget om at man skal bruge en wrapper klasse, men jeg kan ikke
finde ud af hvad for en det skal være. Kunne du ikke komme med et eksempel
på det.
Jeg kan også maile mine klasser til dig, hvis du hellere vil det.

Med venlig hilsen

Bjarne "maximus" edersen

The MaXx (05-07-2001)
Kommentar
Fra : The MaXx


Dato : 05-07-01 17:52

> Du har fuldstændig ret Flemming jeg har lavet modellen selv derfor virker
> det som The MaXx har skrevet hellere ikke.

Sorry, jeg havde lige overset det med at du bruger en custom tablemodel.
Du kan så bare selv lave en funktion i din tablemodel der returnerer de
værdier i dit array eller Vector du har brug for.

The MaXx

eks.: Lav denne funktion i din datamodel:

public Object getValueAt(int row, int col)
{
if (col < 0) return null;
else if (getRowCount() == 0) return null;
return data.elementAt(row);
}

Denne kan tilpasses meget men er lige taget ud af et program jeg lavede for
et stykke tid siden.



Bjarne (05-07-2001)
Kommentar
Fra : Bjarne


Dato : 05-07-01 22:55

"The MaXx" <themaxx@mail.dk> wrote in
news:3b449ac9$0$371$edfadb0f@dspool01.news.tele.dk:

>> Du har fuldstændig ret Flemming jeg har lavet modellen selv derfor
>> virker det som The MaXx har skrevet hellere ikke.
>
> Sorry, jeg havde lige overset det med at du bruger en custom
> tablemodel. Du kan så bare selv lave en funktion i din tablemodel der
> returnerer de værdier i dit array eller Vector du har brug for.
>
> The MaXx
>
> eks.: Lav denne funktion i din datamodel:
>
> public Object getValueAt(int row, int col)
> {
> if (col < 0) return null;
> else if (getRowCount() == 0) return null;
> return data.elementAt(row);
> }
>
> Denne kan tilpasses meget men er lige taget ud af et program jeg lavede
> for et stykke tid siden.
>
>
>

Godt, jeg vil prøve det i morgen, lige nu er jeg for træt til at lave
noget

Flemming K. Jensen (06-07-2001)
Kommentar
Fra : Flemming K. Jensen


Dato : 06-07-01 16:07

On Thu, 5 Jul 2001 15:34:50 +0000 (UTC), Bjarne <maximus@pedersen.dk>
wrote:

>Du skrev noget om at man skal bruge en wrapper klasse, men jeg kan ikke
>finde ud af hvad for en det skal være. Kunne du ikke komme med et eksempel
>på det.

Det kommer an på hvilken primitiv type dine data er repræsenteret i, i
modellen.

Du kan prøve at finde en passende wrapper, ved at se i DocJava

http://oracleda.ikasths.dk/intranet/teachers/fkj/docjava/

under:

Java Specielt
-> Wrapper Klasser

Der er også nogle eksempler på hvordan man laver tabeller under:

Grafiske Brugergrænseflader
-> Tabeller


/Flemming Jensen


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste