hund555 Geschrieben 16. Dezember 2005 Teilen Geschrieben 16. Dezember 2005 hallo, ich will dass, wenn ich "s" drücke ein neues bild snk angezeigt wird, irgendwie wird bei s drücken es nciht übergeben, wenn ich Xinc gleich auf 10 setzte dann gehts aber import java.applet.Applet; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; public class progi extends Applet implements Runnable { public progi() { x = new int[350]; y = new int[350]; bits = 2; isGraphics = true; Xinc =0; Yinc=0; } public void init() { setBackground(Color.red); snk = getImage(getCodeBase(), "snk.gif"); right = getImage(getCodeBase(), "right.gif"); for(int i=0; i<120; i++) { x[i]=0; y[i]=120; } } public void paint(Graphics g) { g.setColor(Color.black); g.drawString("Hello World!!!!", 110, 110); for(int i = 0; i <= bits; i++) { if(isGraphics) g.drawImage(right, x[i], x[i], this); } if(isGraphics) { if(Xinc == 10) g.drawImage(snk, x[1], y[1], this); } } public void run() { repaint(); } public boolean keyDown(Event event, int i) { if(i == 115) { Xinc = 10; } return false; } int Xinc; int Yinc; int x[]; int y[]; int bits; boolean isGraphics; Image snk; Image right; int a; int b; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 16. Dezember 2005 Teilen Geschrieben 16. Dezember 2005 Servus, überleg nochmal, was Du willst, fasse das in Worte, die Du in richtige und sinnvolle Sätze einfügst, und wenn Du dann noch den Code anständig formatierst, damit einem nicht die Augen rausfaulen, dann komme noch mal und Dir wird geholfen werden. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hund555 Geschrieben 17. Dezember 2005 Autor Teilen Geschrieben 17. Dezember 2005 steht doch da: bei s drücken soll sich das bild ändern. da das programm einiges mehr machen soll, ist der code schon weiter ausgebaut, aber das soll, denke ich mal, euch nciht stören. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 18. Dezember 2005 Teilen Geschrieben 18. Dezember 2005 Servus, um Dein unleserliches Programm zu analysieren, mit dann rauszusuchen, wo der relevante Teil Code steht, der das machen soll, was Du gerne möchtest, und das dann noch zu berichtigen, fehlt mir die Zeit. Viel Glück weiterhin. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 18. Dezember 2005 Teilen Geschrieben 18. Dezember 2005 hallo, ich will dass, wenn ich "s" drücke ein neues bild snk angezeigt wird, irgendwie wird bei s drücken es nciht übergeben, wenn ich Xinc gleich auf 10 setzte dann gehts aber kingofbrain hat schon Recht. Dieser Satz ist nur mit Mühe und Not ins Deutsche zu übersetzen. Und Dein Code ist nicht gerade lesbar formatiert. Wenn Du Hilfe von uns erwartest, solltest Du uns schon ein bißchen entgegenkommen. Aber zu Deinem Problem: Ich habe im Code keinen einzigen KeyEventListener gefunden, der das Drücken der Taste "S" abfangen würde. Dann kann das auch nicht gehen. Zum Umgang mit Listenern: Java ist auch eine Insel 5 - Kap. 15 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_Arvid_ Geschrieben 18. Dezember 2005 Teilen Geschrieben 18. Dezember 2005 Hallo hund555! Also erstmal muss ich den anderen hier zustimmen, das wiederhole ich jetzt aber nicht, das deprimiert und ärgert nur. (Will niemanden runter reden, manchmal muss die Kritik auch konstruktiv sein.) Du hättest jedenfalls so anfangen können wie: "Ich hab da 'n Applet. Auf diesem zeige ich ein GIF-Bild an. Dieses Bild wird soll immer dann wechseln, wenn auf die Taste gedrückt wird......" Aber das spielt jetz keine Rolle mehr. Was du vorhast, ist ja mittlerweile klar. keinen einzigen KeyEventListener gefundenDas ist auch nicht nötig, da die Klasse Applet die Methoden keyDown(Event, int), mouseDown(Event, int, int), etc. aus der Oberklasse Component übernimmt. ABER: Schau mal in die API Doc. Dort findest du Folgendes unter der Methode keyDown(Event, int): "Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent)." Daher mein Tipp an dich: Versuch es mal mit der Methode processKeyEvent(KeyEvent). Vielleicht liegt es daran. (Ist meiner Meinung nach anzunehmen.) Ein weiterer Tipp für die Zukunft: Schau bitte erst selbst, woran es liegen könnte. Ziehe alle Möglichkeiten in Erwägung. Und wenn du was nicht weißt, schaust du am besten ERST in die Java API Doc (ist nicht umsonst die Bibel der Java-Entwickler ) oder in diverse Tutorials. Damit erstparst du uns eine Menge Zeit. Und dann kannst du ja immernoch fragen, wenn das alles nicht hilft. Ist ja auch vollkommen legitim. Aber dann auch bitte nicht vergessen, deine Problembeschreibung treffend zu formulieren, möglichst in deutscher Sprache. Kontrolliere deine Fragen auf Inhalt und Rechtschreibung. Nutze ggf. die Vorschau-Funktion des Forums. Dafür ist sie ja da. Damit tust du einigen einen Gefallen... (Können ja nicht alle so nett sein wie ich... ) Also dann. Hoffe, ich war dir 'ne Hilfe. Besten Gruß. Arvid. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 18. Dezember 2005 Teilen Geschrieben 18. Dezember 2005 Das ist auch nicht nötig, da die Klasse Applet die Methoden keyDown(Event, int), mouseDown(Event, int, int), etc. aus der Oberklasse Component übernimmt. ABER: Schau mal in die API Doc. Dort findest du Folgendes unter der Methode keyDown(Event, int): "Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent)." Daher mein Tipp an dich: Versuch es mal mit der Methode processKeyEvent(KeyEvent). Vielleicht liegt es daran. (Ist meiner Meinung nach anzunehmen.) Moinsen, hmm. OK. Hab' ich bisher übersehen. Aus Interesse habe ich natürlich mal in die API geschaut und folgendes gefunden: This method is not called unless key events are enabled for this component. Key events are enabled when one of the following occurs: A KeyListener object is registered via addKeyListener. Key events are enabled via enableEvents. Note that this method is not called by the event dispatch thread if the component is not the focus owner of if the component is not showing. This method is called when key events are registered via the addKeyListener or enableEvents methods but, as of release 1.4, the implementation of the AWT event dispatching thread redirects KeyEvent to the focus owner. Please see the Focus Specification for further information. Daher würde ich zumindest mal enableEvents() ausführen. Und zu hund555: Wenn Du ein Bild anzeigen willst, solltest Du das auch in der keyDown()-Methode tun Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ksg9-sebastian Geschrieben 19. Dezember 2005 Teilen Geschrieben 19. Dezember 2005 public class AppletEx implements KeyListener{ public void init(){ addKeyListener(this); } //implement methods } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.