Zeilenumbruch String

Status
Nicht offen für weitere Antworten.
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:
Code:
String s = new String ("Einbauvorrichtung Scharniere einsetzen");
rufe dann meine Methode auf:
Code:
formatText(s, 20, g, i);
und hier der Quellcode der Methode:
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
 

Mag1c

Top Contributor
Hi Karina,

du veränderst innerhalb der for-Schleife den String s obwohl die for-Schleife dazu gedacht war, im String s die "Schnittmarke" zu finden. Da s immer kürzer wird, knallts irgendwann beim charAt(...). Abgesehen davon stimmt hier noch mehr nicht. Wenn es nicht sein muß, würde ich keine Rekursion nehmen. Habe mal etwas umgebaut:

Code:
int line = 0;
while (s.length() > len) {
    for (int j=len; j>=0; j--) {
        if((s.charAt(j))==' ') {
            String n = s.substring(0, j);
            g.drawString(n, 50+115*i, 220+(line*10));
            s = s.substring(j);
            line++;
            break;
        }
    }
}
g.drawString(s, 50+115*i, 220+(line*10));

Gruß
Mag1c
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
AssELAss String jeweils nach x Zeichen Zeilenumbruch Allgemeine Java-Themen 1
K String: alle X Zeichen Zeilenumbruch Allgemeine Java-Themen 3
B String + Zeilenumbruch nach X-Zeichen Allgemeine Java-Themen 4
N Zeilenumbruch in String nach jeweils x Zeichen einfügen? Allgemeine Java-Themen 6
T Input/Output Zeilenumbruch Allgemeine Java-Themen 4
OnDemand Zeilenumbruch ignorieren möglich? Allgemeine Java-Themen 1
J XML Dokument Zeilenumbruch in den Quellcode einfügen Allgemeine Java-Themen 5
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
J Zeilenumbruch per JAVA_OPTS steuern Allgemeine Java-Themen 1
AssELAss Zeilenumbruch immer nach bestimmtem Zeichen Allgemeine Java-Themen 1
H Zeilenumbruch in Quellcode Allgemeine Java-Themen 4
J Zeilenumbruch - Excel Export HSSF Allgemeine Java-Themen 10
E Zeilenumbruch html Allgemeine Java-Themen 3
E Eclipse automatischen Zeilenumbruch unterbinden Allgemeine Java-Themen 2
T Swing JTextAera Zeilenumbruch entfernen Allgemeine Java-Themen 7
C OpenOffice Writer und Zeilenumbruch Allgemeine Java-Themen 4
J Regulärer Ausdruck - Der Punkt und der Zeilenumbruch Allgemeine Java-Themen 6
J Drucken mit drawString() und Zeilenumbruch Allgemeine Java-Themen 3
D JExcelAPI -> Zeilenumbruch? Allgemeine Java-Themen 2
S zeilenumbruch in TextArea Allgemeine Java-Themen 5
C Zeilenumbruch aus JTextArea entfernen Allgemeine Java-Themen 6
B Zeilenumbruch erkennen Allgemeine Java-Themen 22
R automatischer zeilenumbruch Allgemeine Java-Themen 2
R zeilenumbruch Allgemeine Java-Themen 2
K Zeilenumbruch in Eclipse beim Codeformater verhindern Allgemeine Java-Themen 10
S Zeilenumbruch nicht von Java interpretieren Allgemeine Java-Themen 5
G Zeilenumbruch beim BufferedWriter? Allgemeine Java-Themen 3
G Javadoc Zeilenumbruch Allgemeine Java-Themen 2
E Zeilenumbruch in einer Textdatei Allgemeine Java-Themen 2
G Zeilenumbruch Allgemeine Java-Themen 15
B Zeilenumbruch bei Schreiben einer Textdatei Allgemeine Java-Themen 10
G JEditorPane Zeilenumbruch Allgemeine Java-Themen 1
G Zeilenumbruch in Subview Allgemeine Java-Themen 2
T - Zeilenumbruch entfernen Allgemeine Java-Themen 2
J Zeilenumbruch löschen Allgemeine Java-Themen 10
C Zeilenumbruch bei JTextArea Allgemeine Java-Themen 10
G Mit FileWriter Zeilenumbruch schreiben Allgemeine Java-Themen 8
bummerland Zeilenumbruch aus JTextArea Allgemeine Java-Themen 1
C EML Email Text in String wandeln Allgemeine Java-Themen 2
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
M String Allgemeine Java-Themen 10
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
O String in Long Hexerdezimal umwandel Allgemeine Java-Themen 14
N String vergleichen. Allgemeine Java-Themen 27
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
M Switches ohne String Allgemeine Java-Themen 18
AmsananKING String Iteration Allgemeine Java-Themen 5
S Shuffle String aus if-clause Allgemeine Java-Themen 11
Besset Variablen Ist String = "" + int inordnung? Allgemeine Java-Themen 6
M Map <Long, String> zu Map<String, Long> Allgemeine Java-Themen 9
S String Encoding Verständnisproblem Allgemeine Java-Themen 22
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
SaftigMelo Bug Fixen von String-spliten Allgemeine Java-Themen 8
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
YohnsonM String - Aufteilung und Nutzung einzelner Chars Allgemeine Java-Themen 7
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
S String umbenennen: wie? Allgemeine Java-Themen 4
x46 String Format Fehler Allgemeine Java-Themen 2
S ISO 8601 -> getter / setter String Allgemeine Java-Themen 3
L String zu repräsentativen Wert Allgemeine Java-Themen 0
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
L regex ganzer string? Allgemeine Java-Themen 2
L Ist ein string ein erlaubter variabel name? Allgemeine Java-Themen 2
Z JNA Cpp-DLL String Verwendung Allgemeine Java-Themen 2
A String auf Zahlen überprüfen Allgemeine Java-Themen 5
N String Array Eingabe Allgemeine Java-Themen 6
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
R char aus String entfernen Allgemeine Java-Themen 10
LimDul Mittels Streams aus Strings A B C den String A, B und C machen Allgemeine Java-Themen 12
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Ini Text aus String parsen Allgemeine Java-Themen 1
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
Drachenbauer Wie kann ich das Wort "concrete" in einem String durch ein anderes Wort ersetzen lassen? Allgemeine Java-Themen 5
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
R Variablen String mit split-Funktion aufteilen Allgemeine Java-Themen 7
F Datei in String-Array einlesen Allgemeine Java-Themen 8
S Marker aus String ermitteln Allgemeine Java-Themen 5
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
S MSSQL Exception & Connection String Allgemeine Java-Themen 19
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
J String - Vergleiche Allgemeine Java-Themen 7
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
G CSV in String Allgemeine Java-Themen 7
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
Xge Replace x Zeichen aus String Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben