KeyTyped gibt falschen Wert aus

bouster

Mitglied
hallo an alle 🙂
ich bin ja grade am lernen und hab jetzt ein Programm geschrieben das einen text
einliest und diesen dann falschrum (also z.b. Hallo ==> ollaH) wider ausgeben soll
die Benutzeroberfläche hab ich hinbekommen nur beim KeyTyped hackts grade ein
bisschen aber ich weiß auch nicht wies klappt hab auch schon nach diversen anderen
beiträgen gesucht jedoch wurde ich aus denen die ich gefunden habe nicht schlau
genug um meinen Fehler zu finden bzw. ihn zu verbessern ...

habe folgende Methode:
Java:
	 private void displayInfo(KeyEvent e, String keyStatus){	        

	        int id = e.getID();
	        String keyString = null;
	        if (id == KeyEvent.KEY_TYPED) 
	        {
	        	char c = e.getKeyChar();
	            keyString = c+keyString;
	            ausgabeFeld.setText(keyString);
	        }	        
	    }
und die Ausgabe ist immer nur der aktuelle Buchstabe und null (also zB.: a ==> anull)
und sämtliche zuvorgespeicherten werte sind weg obwohl ich den string jedes mal neu überschreibe ???:L
 
hallo an alle 🙂
ich bin ja grade am lernen und hab jetzt ein Programm geschrieben das einen text
einliest und diesen dann falschrum (also z.b. Hallo ==> ollaH) wider ausgeben soll
die Benutzeroberfläche hab ich hinbekommen nur beim KeyTyped hackts grade ein
bisschen aber ich weiß auch nicht wies klappt hab auch schon nach diversen anderen
beiträgen gesucht jedoch wurde ich aus denen die ich gefunden habe nicht schlau
genug um meinen Fehler zu finden bzw. ihn zu verbessern ...

habe folgende Methode:
Java:
	 private void displayInfo(KeyEvent e, String keyStatus){	        

	        int id = e.getID();
	        String keyString = null;
	        if (id == KeyEvent.KEY_TYPED) 
	        {
	        	char c = e.getKeyChar();
	            keyString = c+keyString;
	            ausgabeFeld.setText(keyString);
	        }	        
	    }
und die Ausgabe ist immer nur der aktuelle Buchstabe und null (also zB.: a ==> anull)
und sämtliche zuvorgespeicherten werte sind weg obwohl ich den string jedes mal neu überschreibe ???:L

Für die Geschichte wegen des null`s, benutze keyString = String.valueOf(c); oder c+"" anstelle von c+keyString.
Und das du irgendwo den String speicherst sieht man in den Code nicht, das passiert hier nicht. Du erstellst jedesmal einen neuen lokalen String. Mit setText setzt du auch jedesmal den kompletten Text neu, du könntest dir also vorher den aktuellen Text holen und mit deinem neuen String konkatenieren und dann neu setzen z.B. !
 

Neue Themen


Zurück
Oben