G
grayson
Gast
hallo, ich breche mir gerade an einem keylistener einen ab.
und zwar habe ich eine gui, in der ich chatten kann etc.
ausserdem wird eine zweite gui (von jframe abgeleitet) geöffnet, wenn in meinem spiel ein kampf gemeldet wird.
die erste (chatgui) bleibt aber offen, so das man auch im spiel weiter mit der lobby chatten kann.
das ganze sieht so aus :
klasse chatgui extends jframe ----> der chat
klasse gameclient implements remote blah blub ---> der spieleclient (über rmi)
klasse gameUIContainer extends jframe -----> die spielUI (das grundgerüst buttons , scrollpane etc)
unterklasse von gameclient gameui extends gameUIContainer ----> hier wird die spielkarte in den container eingehängt und die eigendlichen actions etc. implementiert
der konstruktor von gameUI ruft natürlich als erstes super(); auf, damit der gameUIContainer aufgebaut wird.
nun möchte ich auf die spielkarte (extends jcomponent) einen keylistener einhängen oder zumindest doch auf die gameUI, damit ich per tastatur auf der karte scrollen kann und diverse andere sachen.
da aber meine chatUI noch offen ist, bekomme ich zb. requestFocus() immer false, wesshalb natürlich der als anonyme klasse im konstruktor von gameUI eingehängte keylistener nie anspringt.
so, wie bekomm ich nun auf meine spielkarte (liegt im mapScrollPane (ein jscrollpane)) einen keylistener hin, ohne das ich die chatUI zu machen muss?
und zwar habe ich eine gui, in der ich chatten kann etc.
ausserdem wird eine zweite gui (von jframe abgeleitet) geöffnet, wenn in meinem spiel ein kampf gemeldet wird.
die erste (chatgui) bleibt aber offen, so das man auch im spiel weiter mit der lobby chatten kann.
das ganze sieht so aus :
klasse chatgui extends jframe ----> der chat
klasse gameclient implements remote blah blub ---> der spieleclient (über rmi)
klasse gameUIContainer extends jframe -----> die spielUI (das grundgerüst buttons , scrollpane etc)
unterklasse von gameclient gameui extends gameUIContainer ----> hier wird die spielkarte in den container eingehängt und die eigendlichen actions etc. implementiert
der konstruktor von gameUI ruft natürlich als erstes super(); auf, damit der gameUIContainer aufgebaut wird.
nun möchte ich auf die spielkarte (extends jcomponent) einen keylistener einhängen oder zumindest doch auf die gameUI, damit ich per tastatur auf der karte scrollen kann und diverse andere sachen.
da aber meine chatUI noch offen ist, bekomme ich zb. requestFocus() immer false, wesshalb natürlich der als anonyme klasse im konstruktor von gameUI eingehängte keylistener nie anspringt.
so, wie bekomm ich nun auf meine spielkarte (liegt im mapScrollPane (ein jscrollpane)) einen keylistener hin, ohne das ich die chatUI zu machen muss?