/
Forside
/
Teknologi
/
Udvikling
/
Java
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Java
#
Navn
Point
1
molokyle
3688
2
Klaudi
855
3
strarup
740
4
Forvirret
660
5
gøgeungen
500
6
Teil
373
7
Stouenberg
360
8
vnc
360
9
pmbruun
341
10
mccracken
320
Musetryk i JTable
Fra :
The_MaXx
Dato :
19-12-02 16:33
Hej Gruppe.
Jeg har lavet en JTable med en masse data i. Jeg har lavet en speciel
Renderer sådan her:
public class KortRenderer extends JLabel implements TableCellRenderer
og så med de nødvendige funktioner. Den bruges til at ændre både tekst-farve
og baggrundsfarve på cellerne alt efter indholdet.
Nu vil jeg så gerne kunne trykke på en med musen og få kaldt en event. Jeg
har forsøgt på mange måder men har ikke fået det til at virke optimalt.
Hvordan laver man smartest det?
The_MaXx
Lars Dam (
20-12-2002
)
Kommentar
Fra :
Lars Dam
Dato :
20-12-02 10:35
On Thu, 19 Dec 2002 16:33:00 +0100, "The_MaXx" <the_maxx@mail.dk>
wrote:
>Hej Gruppe.
>
>Jeg har lavet en JTable med en masse data i. Jeg har lavet en speciel
>Renderer sådan her:
>
>public class KortRenderer extends JLabel implements TableCellRenderer
>
>og så med de nødvendige funktioner. Den bruges til at ændre både tekst-farve
>og baggrundsfarve på cellerne alt efter indholdet.
>Nu vil jeg så gerne kunne trykke på en med musen og få kaldt en event. Jeg
>har forsøgt på mange måder men har ikke fået det til at virke optimalt.
>Hvordan laver man smartest det?
Det er fordi en renderer, netop kun er en renderer; dvs. at den bruges
kun til at tegne celler i en tabel.
Du bliver nødt til at smide dine listeners på selve tabellen; jeg
mener der er metoder der der kan aflæse hvilken celle en given XY
koordinat refererer til.
>
>The_MaXx
vh. ld
---
"Time is the fire in which we burn"
The_MaXx (
20-12-2002
)
Kommentar
Fra :
The_MaXx
Dato :
20-12-02 12:29
> Det er fordi en renderer, netop kun er en renderer; dvs. at den bruges
> kun til at tegne celler i en tabel.
>
> Du bliver nødt til at smide dine listeners på selve tabellen; jeg
> mener der er metoder der der kan aflæse hvilken celle en given XY
> koordinat refererer til.
Jeg havde bævlet en del med TableEditors da jeg før har brugt dem til at
have knapper i en tabel, men synes de var for besværlige i det her tilfælde.
Derfor kiggede jeg på din ide. Jeg kunne ikke finde den metode du snakker om
der kan aflæse celle, men da alle celler er lige store kunne jeg gøre
således:
public class TableListener implements MouseListener
{
public void mouseClicked(MouseEvent e)
{
int x = e.getX()/table.getColumnModel().getColumn(1).getWidth();
int y = e.getY()/table.getRowHeight();
}
}
Takker for hjælpen... jeg havde slet ikke tænkt på at "lytte" på hele
tabellen og så udregne cellen bagefter. Dog skal de siges at den reagerer en
smule langsomt i forhold til TableEditors men i mit program betyder det ikke
noget.
The_MaXx
Søren Berg Glasius (
20-12-2002
)
Kommentar
Fra :
Søren Berg Glasius
Dato :
20-12-02 12:51
Hey MaXx
Flg. er din ven:
int row = table.rowAtPoint(mouseEvent.getPoint());
int col = table.columnAtPoint(mouseEvent.getPoint())
Go' jul.
/Søren
The_MaXx (
20-12-2002
)
Kommentar
Fra :
The_MaXx
Dato :
20-12-02 14:09
> Flg. er din ven:
>
> int row = table.rowAtPoint(mouseEvent.getPoint());
> int col = table.columnAtPoint(mouseEvent.getPoint
Ja, den var sq da noget smartere end min....
Takker og god jul til dig også.
The_MaXx
Søg
Alle emner
Teknologi
Udvikling
Java
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408905
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.