22. maj 2002 - 20:58Der er
6 kommentarer og 1 løsning
KeyListener
hej er der nogen der kan hjælpe en rookie i GUI programmering???
Jeg har lavet en Skabelon klasse der har nogle genveje implementeret med KeyListener og disse virker også fint i alle klasser der arver fra skabelonen så længe fokus er på det arvede panel eller på et tekstfelt med actionListener implementeret.
Problemet er at jeg har 3 JLister der alle har implementeret sine "actions" med KeyListeners, og når Focus er på disse 3 JLister virker de arvede genveje ikke...
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Du kan holde en instanst af de arvede keylisteners i dine JListers listeners, når det er genvejen der trykkes sender du manuelt listener kaldet videre til de arvede listeners.
Den løsning kræver at JListers listener også kender til genvejene, men du kan jo rimelig nemt forbedre designet hvis du synes det bliver spagetti-kode.
Jeg skal lige være helt med på hvad du mener med instans af de arvede keyListeners- Hvis du mener at jeg skal implementere genvejs-metoderne i keyPressed på klassen der arver fra skabelon klassen også- så er det det jeg forsøger at undgå ved at lade genvejene der skal kunne tilgåes fra alle skærmbilleder arve fra en skabelon klasse.
Det mener jeg ikke du skal, men jeg skal også være helt med. Hvad skal dine genveje gøre. Og er det sådan:
Du har nogle GUI objekter som arver fra skabelon Skabelon har nogle tastegenveje, implementeret med keylistener. JList har selv implementeret keylisteners?
Det jeg tænkte var at hvis dine JLister selv har implementeret en keylistener, så det er deres egen keyPressed metode der bliver kaldt så kunne du derinde teste for om det er en skabelon genvej. Hvis det er det så kalder du explicit keyPressed på et Skabelon objekt og sender eventet med. Derved modtager Skabelons keyPressed et event som om det var den der var sat som listener på JList, men kun når det var en af de gyldige genveje.
Tænk igen lidt over designet. Hvis dine JList har hardkodet genveje ind for skabelon objekter er dit program ikke så vedligeholdelse venligt.
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.