/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JComponents "uden" keyboard
Fra : Allan Schmidt


Dato : 28-10-02 11:35

Hej gruppe.

Jeg vil gerne have alle mine JComponents til at være ligeglade med
tastninger på tastaturet. Det vil sige at en JButton f.eks. ikke skal
reagere på Enter selvom den har focus. Jeg vil nemlig fange samtlige
tastetryk ved hjælp af at have en KeyListener på min JFrame.
Det med listeneren på min frame kører fint men det går galt når en knap har
focus og reagerer på f.eks. enter.
Hvordan laves det?

Allan



 
 
Søren Berg Glasius (28-10-2002)
Kommentar
Fra : Søren Berg Glasius


Dato : 28-10-02 11:56

Hej Allan

Jeg vil tro, at du kan tilføje en keyboard listener på formens glass pane.
Glass pane ligger foran content pane, og kan derfor fange events før de
sendes til content pane, hvis listeneren på glass panet æder events.

Se evt. nederst på i flg. dokument:
http://java.sun.com/docs/books/tutorial/uiswing/components/toplevel.html

MVH
Søren

> Jeg vil gerne have alle mine JComponents til at være ligeglade med
> tastninger på tastaturet. Det vil sige at en JButton f.eks. ikke skal
> reagere på Enter selvom den har focus. Jeg vil nemlig fange samtlige
> tastetryk ved hjælp af at have en KeyListener på min JFrame.
> Det med listeneren på min frame kører fint men det går galt når en knap
har
> focus og reagerer på f.eks. enter.
> Hvordan laves det?




Ulrik Magnusson (28-10-2002)
Kommentar
Fra : Ulrik Magnusson


Dato : 28-10-02 17:38



Allan Schmidt wrote:

> Hej gruppe.
>
> Jeg vil gerne have alle mine JComponents til at være ligeglade med
> tastninger på tastaturet. Det vil sige at en JButton f.eks. ikke skal
> reagere på Enter selvom den har focus. Jeg vil nemlig fange samtlige
> tastetryk ved hjælp af at have en KeyListener på min JFrame.
> Det med listeneren på min frame kører fint men det går galt når en knap har
> focus og reagerer på f.eks. enter.
> Hvordan laves det?

Dette bør fungere:

class IgnoringButton extends javax.swing.JButton
{
IgnoringButton( String label )
{
super( label );
}

public void processKeyEvent( java.awt.event.KeyEvent e )
{
e.consume();
}
}

Ulrik Magnusson


Ulrik Magnusson (28-10-2002)
Kommentar
Fra : Ulrik Magnusson


Dato : 28-10-02 17:47



Ulrik Magnusson wrote:

> Allan Schmidt wrote:
>
> > Hej gruppe.
> >
> > Jeg vil gerne have alle mine JComponents til at være ligeglade med
> > tastninger på tastaturet. Det vil sige at en JButton f.eks. ikke skal
> > reagere på Enter selvom den har focus. Jeg vil nemlig fange samtlige
> > tastetryk ved hjælp af at have en KeyListener på min JFrame.
> > Det med listeneren på min frame kører fint men det går galt når en knap har
> > focus og reagerer på f.eks. enter.
> > Hvordan laves det?
>
> Dette bør fungere:
>
> class IgnoringButton extends javax.swing.JButton
> {
> IgnoringButton( String label )
> {
> super( label );
> }
>
> public void processKeyEvent( java.awt.event.KeyEvent e )
> {
> e.consume();
> }
> }
>
> Ulrik Magnusson

og så er consume() i øvrigt unødvendigt, da processKeyEvent tager
sig af al håndtering af KeyEvents.

Ulrik Magnusson


Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste