BadLocationException global abfangen?

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.
  • Hallo ihr :)

    Hab da ein kleines Problem, und zwar:
    hab ein JTextPane wo immer wieder Werte und Worte eingetragen werden müssen in verschiedenen Farben und Schriftgrößen. Leider muss ich jedesmal umständlich für doc.insertString(offset,String,SimpleAttributeSet) einen try-catch Block verwenden um eine BadLocationException abzufangen. Das ungefähr so 40 mal und bläht den Code ur auf. Gibts da nicht eine Methode das irgendwie zentral abzufangen?

    Hab schon probiert an alle Methoden und Funktionen, die ich in der Klasse hab eine "throw BadLocationException" anzufügen - was zwar funktioniert, aber es sieht dann doch auch sehr dreckig aus...

    Irgendwelche Ideen?

  • Oke, ich glaub ich hab die Lösung gefunden:
    Ich muss einfach diese "insertText()" Funktion in einer anderen Funktion aufrufen und dort in einem try-catch Block einschliessen. Und jedesmal wenn diese neue Funktion aufgerufen wird, wird die insertString() Funktion aufgrufen:

    Code
    [B][size=10][COLOR=#7f0055][size=10][COLOR=#7f0055]public [/COLOR][/SIZE][/COLOR][/SIZE][/B][B][size=10][COLOR=#7f0055][size=10][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][size=10] output(String str, SimpleAttributeSet sas)[/SIZE] {
    [B][size=10][COLOR=#7f0055][size=10][COLOR=#7f0055]try{[/COLOR][/SIZE][/COLOR][/SIZE][/B][size=10][COLOR=#0000c0][size=10][COLOR=#0000c0]doc[/COLOR][/SIZE][/COLOR][/SIZE][size=10].insertString([/SIZE][size=10][COLOR=#0000c0][size=10][COLOR=#0000c0]doc[/COLOR][/SIZE][/COLOR][/SIZE][size=10].getLength(),str,sas);[/SIZE]
    }[B][size=10][COLOR=#7f0055][size=10][COLOR=#7f0055]catch[/COLOR][/SIZE][/COLOR][/SIZE][/B][size=10] (BadLocationException ble)[/SIZE][size=10]{[/SIZE]
    [size=10]System.[/SIZE][I][size=10][COLOR=#0000c0][size=10][COLOR=#0000c0]out[/COLOR][/SIZE][/COLOR][/SIZE][/I][size=10].println([/SIZE][size=10][COLOR=#2a00ff][size=10][COLOR=#2a00ff]"BadLocationExpection happened!"[/COLOR][/SIZE][/COLOR][/SIZE][size=10]);[/SIZE]
    [size=10]}[/SIZE][size=10]}[/SIZE]



    So spar ich mir auch gleich das doc.getLength() jedesmal. Komisch... das Problem hatte ich doch schon mal, wieso bin ich nicht gleich draufgekommen...

    4 Mal editiert, zuletzt von owaye (21. September 2009 um 18:12)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!