Toon posts:

[java]Jpanel Focus probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben momenteel een spelletje aan het maken. Daarin gebruik ik twee JPanels die zich in een JFrame bevinden. Het ene JPanel bevat het spelveld(een labyrinth) en het andere de informatie over de speler.
De gebruiker moet op een knop kunnen drukken om zijn tegenstander aan te vallen.
Het probleem situeert zich daar want wanneer er op de knop gedrukt wordt is het JFrame niet meer in staat om via een KeyListener keyboardinput te ontvangen. Die keyboardinput is nodig om de speler te laten rondlopen in het doolhof. Dit werkt goed tot er effectief op een knop in het tweede panel wordt gedrukt. Ik weet hier niet meteen geen raad mee mss kan iemand mij helpen,
greetz

ps: De code is te omvangrijk om hier te posten maar indien nodig kan ik dat wel mailen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Wat werkt er exact niet? Krijg je een melding? Doet het gewoon niet wat het hoort te doen? Post eens wat relevante (dus niet alle) code. Je probleem heeft waarschijnlijk betrekking op een bepaald aantal regeltjes, en die kun je best posten. Vooralsnog vind ik je topic erg vaag. :)

Lees ook even P&W FAQ - De "quickstart" door. :)

Edit: lees ook even *** Over topictitels in P&W - lezen voor topic openen!!! *** door en doe via een TR (middels het Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/icon_hand.gif-knopje) een suggestie voor een nieuwe topictitel. "Jpanel problemen" is nogal nietszeggend over je probleem. :)

[ Voor 34% gewijzigd door NMe op 26-04-2005 16:29 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 14:00

NDF82

Doomed Space Marine

Dit komt waarschijnlijk omdat de knop de focus heeft gekregen ipv het Component wat de keylistener heeft.

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 07-05 23:29
Verwijderd schreef op dinsdag 26 april 2005 @ 16:20:
Ik ben momenteel een spelletje aan het maken. Daarin gebruik ik twee JPanels die zich in een JFrame bevinden. Het ene JPanel bevat het spelveld(een labyrinth) en het andere de informatie over de speler.
De gebruiker moet op een knop kunnen drukken om zijn tegenstander aan te vallen.
Het probleem situeert zich daar want wanneer er op de knop gedrukt wordt is het JFrame niet meer in staat om via een KeyListener keyboardinput te ontvangen. Die keyboardinput is nodig om de speler te laten rondlopen in het doolhof. Dit werkt goed tot er effectief op een knop in het tweede panel wordt gedrukt. Ik weet hier niet meteen geen raad mee mss kan iemand mij helpen,
greetz

ps: De code is te omvangrijk om hier te posten maar indien nodig kan ik dat wel mailen.
Zou het iets met focus te maken kunnen hebben? Dat wanneer je de JButton indrukt die de focus krijgt en het JFrame niet langer naar keyboard event luistert?

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 07-05 23:29
NDF82 schreef op dinsdag 26 april 2005 @ 16:46:
Dit komt waarschijnlijk omdat de knop de focus heeft gekregen ipv het Component wat de keylistener heeft.
Je was me voor :)

Verwijderd

Topicstarter
-NMe- schreef op dinsdag 26 april 2005 @ 16:26:
Wat werkt er exact niet? Krijg je een melding? Doet het gewoon niet wat het hoort te doen? Post eens wat relevante (dus niet alle) code. Je probleem heeft waarschijnlijk betrekking op een bepaald aantal regeltjes, en die kun je best posten. Vooralsnog vind ik je topic erg vaag. :)

Lees ook even P&W FAQ - De "quickstart" door. :)

Edit: lees ook even *** Over topictitels in P&W - lezen voor topic openen!!! *** door en doe via een TR (middels het [afbeelding]-knopje) een suggestie voor een nieuwe topictitel. "Jpanel problemen" is nogal nietszeggend over je probleem. :)
titel: change gerequest
klein stukje code gaat echt niet. Zijn 2 volledige panels met nog een frame als je wilt zend ik het volledig...

sry voor de "vage" uitleg maar kwist niet goed hoe het te formuleren.

@ anderen:

ik dacht ook dat het aan de focus lag... maar hoe kan ik dit dan oplossen? met een focuslistener? of simpel hoe kan ik er dan voor zorgen dat die focus weer op de eerste panel komt? ik hoef geen volledige code te krijgen want zndr de mijne is dat wat moeilijk. Gewoon een "richtlijn" kan ik al veel mee doen. op het spelpanel zit geen knop of dergelijke zijn allemaal imageicons dus daarop kan geen focus gegeven worden?

btw: geen foutmeldingen ofzo.. gewoon het feit dat het 2de panel niet meer aangesproken wordt.

bedankt voor snelle replies!

[ Voor 6% gewijzigd door Verwijderd op 26-04-2005 17:18 ]


  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 07-05 23:29
Verwijderd schreef op dinsdag 26 april 2005 @ 17:12:
[...]


titel: change gerequest
klein stukje code gaat echt niet. Zijn 2 volledige panels met nog een frame als je wilt zend ik het volledig...

sry voor de "vage" uitleg maar kwist niet goed hoe het te formuleren.

@ anderen:

ik dacht ook dat het aan de focus lag... maar hoe kan ik dit dan oplossen? met een focuslistener? of simpel hoe kan ik er dan voor zorgen dat die focus weer op de eerste panel komt? ik hoef geen volledige code te krijgen want zndr de mijne is dat wat moeilijk. Gewoon een "richtlijn" kan ik al veel mee doen. op het spelpanel zit geen knop of dergelijke zijn allemaal imageicons dus daarop kan geen focus gegeven worden?

btw: geen foutmeldingen ofzo.. gewoon het feit dat het 2de panel niet meer aangesproken wordt.

bedankt voor snelle replies!
Je luistert dus naar keyboard events op een van de JPanels?
Dan zorg je dat je eerst de methode setFocusable(true) aanroept op dat JPanel. Vervolgens roep je binnen de actionPerformed() methode, die bij de betreffende Jbutton hoort, de methode requestFocus() aan van het JPanel dat de focus moet krijgen.
Op die manier springt de focus meteen van de JButton terug naar het JPanel.

[ Voor 11% gewijzigd door Kwistnix op 26-04-2005 17:28 ]

Pagina: 1