K
ksh
Gast
Hallo!
Bin gerade dabei, eine Methode zu schreiben, die mir einen String mit Zeilenumbruch ausgeben soll. Ich muss g.drawString verwenden - habe Methoden mit println gefunden, die mich leider nicht weiterbringen. :###
also, gebe z.B. folgendes ein:
rufe dann meine Methode auf:
und hier der Quellcode der Methode:
Kompilieren funktioniert, aber bisher spuckt er immer nur die folgende Exception aus, weiß aber nicht warum!
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 10 at java.lang.String.charAt(Unknown Source)
Weiß jemand, wo der Fehler ist?????? oder hat einen anderen Vorschlag, wie man das anpacken könnte???
Wäre für jede Hilfe dankbar! :bahnhof:
Karina
Bin gerade dabei, eine Methode zu schreiben, die mir einen String mit Zeilenumbruch ausgeben soll. Ich muss g.drawString verwenden - habe Methoden mit println gefunden, die mich leider nicht weiterbringen. :###
also, gebe z.B. folgendes ein:
Code:
String s = new String ("Einbauvorrichtung Scharniere einsetzen");
Code:
formatText(s, 20, g, i);
Code:
public static void formatText(String s, int len, Graphics g, int i) {
// len ist die Länge, welche der String nicht überschreiten darf
// Sonderfall: String überschreitet die Länge nicht
if ( s.length() <= len ) {
g.drawString(s, 50+115*i, 220);
}
else {
for (int j=len; j>=0; j--)
//String ab der vorgegebenen Länge von rechts nach links durchlaufen, um das nächstgelegene Leerzeichen zu finden
if((s.charAt(j))==' ') {
String n = s.substring(0, j);
//gefundene Zeile wird abgeschnitten und Methode rekursiv aufgerufen
s = s.substring(j, s.length());
formatText(s, len, g, i);
g.drawString(n, 50+115*i, 220+(j+1)*10);
}
}
}
Kompilieren funktioniert, aber bisher spuckt er immer nur die folgende Exception aus, weiß aber nicht warum!
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 10 at java.lang.String.charAt(Unknown Source)
Weiß jemand, wo der Fehler ist?????? oder hat einen anderen Vorschlag, wie man das anpacken könnte???
Wäre für jede Hilfe dankbar! :bahnhof:
Karina