Sæt farve på en enkelt row i en JTable

Tags:    java

hej.

Jeg er ved at lave obligatorisk opgave til Datanom (Programkonstruktion 2) og har i den forbindelse brug for at markere EEN enkelt row ud af mange i en JTable...

Jeg har søgt vidt og bredt på nettet og kan kun finde "getColumn" funktioner, men ingen "getRow"..

Den enkelte "Row" indeholder både tal og karakterer...

Nogen gode ideer ???

Min løsning p.t. er at lave en getValue og setValue i en enkelt af cellerne på den omtalte Row og skrive "DENNE" i den, men jeg VILLE jo gerne lave den perfekt og fremhæve den med en bestemt farve...eller background...


Mvh
Jimmy



7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
hej.

Jeg er ved at lave obligatorisk opgave til Datanom (Programkonstruktion 2) og har i den forbindelse brug for at markere EEN enkelt row ud af mange i en JTable...

Jeg har søgt vidt og bredt på nettet og kan kun finde "getColumn" funktioner, men ingen "getRow"..

Den enkelte "Row" indeholder både tal og karakterer...

Nogen gode ideer ???

Min løsning p.t. er at lave en getValue og setValue i en enkelt af cellerne på den omtalte Row og skrive "DENNE" i den, men jeg VILLE jo gerne lave den perfekt og fremhæve den med en bestemt farve...eller background...


Mvh
Jimmy


Sådan som jeg forstår dit spøgsmål, så vil du gerne kunne vælge een række i din jtable. Denne række skal så have en eller anden farve.

jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jtable.setSelectionBackground(Color.YELLOW);

Dette burde kunne gøre tricket. Husk at sætte en lytter på din jtable hvis du skal hive data ud fra den valgte række... Det ved jeg ikke lige om du skulle, da din tekst var lidt uklar.

-------------------------------
Hilsen Jimmi Westeberg
http://www.westsworld.dk



Jeg læste forkert.
-AH

[Redigeret d. 08/11-03 14:37:41 af A.H.]



Jeg læste forkert.
-AH

[Redigeret d. 08/11-03 14:37:41 af A.H.]


Tak for tiden anyway !!




hej.

Jeg er ved at lave obligatorisk opgave til Datanom (Programkonstruktion 2) og har i den forbindelse brug for at markere EEN enkelt row ud af mange i en JTable...

Jeg har søgt vidt og bredt på nettet og kan kun finde "getColumn" funktioner, men ingen "getRow"..

Den enkelte "Row" indeholder både tal og karakterer...

Nogen gode ideer ???

Min løsning p.t. er at lave en getValue og setValue i en enkelt af cellerne på den omtalte Row og skrive "DENNE" i den, men jeg VILLE jo gerne lave den perfekt og fremhæve den med en bestemt farve...eller background...


Mvh
Jimmy

Sådan som jeg forstår dit spøgsmål, så vil du gerne kunne vælge een række i din jtable. Denne række skal så have en eller anden farve.

jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jtable.setSelectionBackground(Color.YELLOW);

Dette burde kunne gøre tricket. Husk at sætte en lytter på din jtable hvis du skal hive data ud fra den valgte række... Det ved jeg ikke lige om du skulle, da din tekst var lidt uklar.

-------------------------------
Hilsen Jimmi Westeberg
http://www.westsworld.dk


Lyder umiddelbart fornuftigt, tak !! jeg vil kaste mig frådende over den !
Jimmy




Sådan som jeg forstår dit spøgsmål, så vil du gerne kunne vælge een række i din jtable. Denne række skal så have en eller anden farve.

jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jtable.setSelectionBackground(Color.YELLOW);


Ups...jeg var lidt hurtig....den duer jo kun hvis det er "brugeren" som selecter noget....her er det programmet som selv skal sætte farven....

Jimmy



Sådan som jeg forstår dit spøgsmål, så vil du gerne kunne vælge een række i din jtable. Denne række skal så have en eller anden farve.

jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jtable.setSelectionBackground(Color.YELLOW);


Ups...jeg var lidt hurtig....den duer jo kun hvis det er "brugeren" som selecter noget....her er det programmet som selv skal sætte farven....

Jimmy


Du kan evt. forsøge at få programmet til at definere tabellens selection, vha. setSelectionInterval().

Altså noget ala,

jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jtable.getSelectionModel().setSelectionInvertal(start,slut);
jtable.setSelectionBackground(Color.YELLOW);





Langt om længe lykkedes det for mig, løsningen var en

table.setRowSelectionInterval(row, row);

SÅ virker det !!

Tak til alle for hints i den rigtige retning og gode svar !!

Mvh
Jimmy



t