|
| Key listener Fra : Kasper Lindberg |
Dato : 18-11-07 18:20 |
|
Hej Ng,
Jeg har lavet en lille GUI. Den består af en klasse, der arver JFrame og en
klasse der arver et JPanel.
JFrame-klassen indeholder alm JPanels og JPanel-klassen
JPanel klassen indeholder et numerisk tastatur der skal kunne betjenes af
keyboardet lige gyldigt hvilken del af GUI'en der har fokus.
Hvordan skal det gøres? Jeg har prøvet at associere en KeyListener til min
JFrame, men får ingen reaktion. Hvordan skal jeg gøre.
Links til en bedre forståelse af KeyListeners er også velkomne.
/Kasper
| |
Michael Rasmussen (18-11-2007)
| Kommentar Fra : Michael Rasmussen |
Dato : 18-11-07 18:36 |
|
On Sun, 18 Nov 2007 18:19:32 +0100
"Kasper Lindberg" <NoSp@m.invalid> wrote:
> Hvordan skal det gøres? Jeg har prøvet at associere en KeyListener
> til min JFrame, men får ingen reaktion. Hvordan skal jeg gøre.
>
Hvis du har to uafhængige klasser, der begge skal anvende samme
KeyListener, skal du se på mønstret singleton.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.
| |
Kasper Lindberg (18-11-2007)
| Kommentar Fra : Kasper Lindberg |
Dato : 18-11-07 18:58 |
|
"Michael Rasmussen" <mir@miras.org> wrote in message
news:20071118183543.5191a508@loke.datanom.net...
On Sun, 18 Nov 2007 18:19:32 +0100
"Kasper Lindberg" <NoSp@m.invalid> wrote:
> Hvordan skal det gøres? Jeg har prøvet at associere en KeyListener
> til min JFrame, men får ingen reaktion. Hvordan skal jeg gøre.
>
Hvis du har to uafhængige klasser, der begge skal anvende samme
KeyListener, skal du se på mønstret singleton.
Way ahead of you, Mit problem er relateret til at registrere at der blev
trykket på en tast.
JFrame-klassen bliver oprettet én gang, gennem programmets main-metode.
Denne opretter én instans af JPanel-klassen.
Jeg har prøvet følgende med min constructor:
public Frame(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
addKeyListener(myKeyListener); //hvor skal denne stå?
setContetPane(....);
pack();
setVisible(true);
}
| |
Thorbjørn Ravn Ander~ (18-11-2007)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 18-11-07 19:36 |
| | |
Kasper Lindberg (18-11-2007)
| Kommentar Fra : Kasper Lindberg |
Dato : 18-11-07 19:54 |
|
"Kasper Lindberg" <NoSp@m.invalid> wrote in message
news:47407d1f$0$90272$14726298@news.sunsite.dk...
> Mit problem er relateret til at registrere at der blev trykket på en tast.
>
Fik løst problemet. Satte min KeyListener på mit contentpane, og gjorde at
dette var "focusable" ved at kalde "setFocusable(true);"
http://forum.java.sun.com/thread.jspa?messageID=2756381&tstart=0
/Kasper
| |
|
|