Toon posts:

[java] windows event afvangen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met afstuderen en moet een programmatje maken dat reageerd op keypressed events.

met mijn code tot nu toe kan ik alleen events afvangen die in het window zelf gebeuren:
code:
1
2
3
4
5
6
    public void keyPressed(KeyEvent arg0) {
        //Afvangen SPACEBAR+CRTL+SHIFT
        if(arg0.getKeyCode() == KeyEvent.VK_SPACE && (arg0.getModifiers() & KeyEvent.CTRL_MASK + KeyEvent.SHIFT_MASK) != 0){
            sendMessage();
        }
    }


Nu is het alleen de bedoeling dat het programma alle SPACE+CRTL+SHIFT af gaat vangen, ook als hij geminimalizeerd is.

Ik heb veel gezocht op internet en GOT, maar heb nog geen oplossing kunnen vinden voor mijn probleem.

Iemand die kan helpen?

TNX

Verwijderd

Ik denk dat je met puur Java geen keyboard events kunt afvangen als het window geminimaliseerd is of geen focus heeft. Met C++ kom je ietsjes verder, gok ik. Als je de rest van je programma in Java wilt laten, dan zou ik eens gaan kijken naar JNI, de Java Native Interface.

Verwijderd

Topicstarter
Dank je voor je reply...

Ik zal eens gaan kijken naar JNI dan, wie weet zit daar de oplossing :)

Het programma moet java blijven ja, aangezien ik JMS gebruik om messages te versturen van een server naar meerdere clients... Door de toetscombo af te vangen is mijn bedoeling de server een message te laten versturen...

  • CyBoB
  • Registratie: Januari 2001
  • Laatst online: 24-12-2025

CyBoB

.::BURB::.

ik denk dat je hier een dll moet schrijven die een globalhook legt op de keyevents. (gebruik anders even de search voor dit onderwerp, zijn genoeg draadjes over op GoT). Als je dan via JNI een eventhandeling tussen die dll en je eigen java applicatie kan maken ben je klaar en kan je de rest gewoon in java blijven schrijven.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Is het niet belangrijker om je te concentreren op de 'echte' applicatie en niet zozeer op allerlei triviale details? Als docent zijnde zou ik liever willen zien dat je goed j2ee technieken weet toe te passen, dan wat lullige events via allerlei kunstgrepen weet op te vangen.

Verwijderd

Topicstarter
Alarmnummer schreef op woensdag 17 november 2004 @ 12:15:
Is het niet belangrijker om je te concentreren op de 'echte' applicatie en niet zozeer op allerlei triviale details? Als docent zijnde zou ik liever willen zien dat je goed j2ee technieken weet toe te passen, dan wat lullige events via allerlei kunstgrepen weet op te vangen.
De rest van het programma werkt prima. Ik kan messages versturen naar mn JBoss server en de clients kunnen die messages ontvangen. Dat werkt dus allemaal prima. Ik wilde de server alleen iets 'netter' maken, door de server altijd te laten reageren.

Ik weet niet wat je verder bedoelt met het 'concentreren op de 'echte' applicatie'?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op woensdag 17 november 2004 @ 12:30:
[...]
Ik weet niet wat je verder bedoelt met het 'concentreren op de 'echte' applicatie'?
Met het echte programma bedoel ik het hoofdgedeelte van je afstuderen. Je studeert (denk ik) ook wel af als die keypressed niet werkt. Het lijkt me dat het geen hele hoge prioriteit heeft. Ik zou me dan eerdere concentreren op more important ;) issues.

[ Voor 4% gewijzigd door Alarmnummer op 17-11-2004 13:07 ]


Verwijderd

Topicstarter
Alarmnummer schreef op woensdag 17 november 2004 @ 13:07:
[...]

Met het echte programma bedoel ik het hoofdgedeelte van je afstuderen. Je studeert (denk ik) ook wel af als die keypressed niet werkt. Het lijkt me dat het geen hele hoge prioriteit heeft. Ik zou me dan eerdere concentreren op more important ;) issues.
Haha...

Ik studeer inderdaad wel af als dat niet werkt, maar toch is het leuk om het nog ff voor elkaar te krijgen. Ik hoopte eigenlijk dat er iets was wat ik over het hoofd gezien had en dat het een kwestie zou zijn van een ander soort listener gebruiken.

Ik begrijp nu dat het niet echt het geval is, en dat het toch wel iets is wat later moet komen (al vind ik dat wel jammer ;) :P)

Bedankt voor de info iedereen :D

SForce
Pagina: 1