29. oktober 2006 - 18:45Der er
5 kommentarer og 1 løsning
JWindow skal altid være forrest
Jeg har en JTable hvor jeg har lagt en MouseMotion hen over. Når der bliver markeret (musen er hen over) en række bliver der vist et billede i et JWindow.
Mit problem er at dette JWindow altid er bag ved JFramen med min jtable. Jeg har prøvet at lave sætte en focusListener på JFramen og derved kalde "toFront"-metoden på JWindow'et hver gang Framen får focus, men kan ikke få det til at spille.
Nogle med et forslag til hvordan jeg altid får JWindow'et forrest?? (Det skal lige nævnes at JWindow'et er lavet med en singleton, så der kan kun oprettes en instance af JWindow'et)
1) For altid at kunne henvise til denne ene konstant, jeg udskifter blot JLabel'en hver gang - har du evt. et bedre forslag, så vil jeg da meget gerne høre :-) 2) Det virker perfekt. Et svar = point :-)
Jeg har det bare sådan, at gui og singletons ikke hører sammen, da det kun vil fungere ved top-level components (som dit JWindow så også er). Man kan ikke tilføje samme instans at en jlabel til flere paneler.
Derfor vil jeg bare lade din JFrame oprette en instans af dit JWindow når det er nødvendigt. Blot min mening :)
Jeg er til dels enig :-). miit syn gik lidt på performence, da det er hver gang musen blot flyttes til en ny række i JTablen at der skulle oprettes en ny instance af JWindow, hvilket hurtigt ville give mange instancer. Men jeg ved ikke hvor tit garbage-collection rydder op i disse instance (mht. fyldt memory), men kan self godt være at der oftere bliver garbage-collected instancer af JWindows end JPanels. Men min vurdering gik på overstående :-)
Men tusind tak for svaret, og især også din mening mht. singleton - er jo altid en sjov "diskussion" :-)
Synes godt om
Ny brugerNybegynder
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.