Bernd: Zeile in JTextPane

Hallo,

ich versuche für einen Texteditor mit JTextPane eine Zeile (die gesamte Zeile nicht nur den Text der Zeile) zu markieren, weiss aber nicht wie ich dabei vorgehen soll. Hat jemand ne Idee?

gruss

Bernd

  1. Hallo,

    ich versuche für einen Texteditor mit JTextPane eine Zeile (die gesamte Zeile nicht nur den Text der Zeile)

    Definiere Zeile im JTextPane!

    zu markieren,

    Definiere markieren!

    weiss aber nicht wie ich dabei vorgehen soll. Hat jemand ne Idee?

    Ich glaskugle mal:
    Du hast eine Caret-Position und willst nun wissen, wo der Absatz (Paragraph) im StyledDocument, welches im JTextPane angezeigt wird, beginnt und endet, in dem sich diese Position befindet.

    • absichtlich keine Links, da die Ankernamen hier nicht akzeptiert werden:

    http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextPane.html#getStyledDocument()

    http://java.sun.com/j2se/1.3/docs/api/javax/swing/text/StyledDocument.html#getParagraphElement(int)

    http://java.sun.com/j2se/1.3/docs/api/javax/swing/text/Element.html#getStartOffset()
    http://java.sun.com/j2se/1.3/docs/api/javax/swing/text/Element.html#getEndOffset()

    viele Grüße

    Axel

    1. Hallo,

      ich möchte für eine einzige Zeile die Hintergrundfarbe ändern, egal ob sie text enthält oder nicht. Dies soll unabhängig vom Cursor passieren. Ähnlich so als würde ich in einer Tabelle ein Feld mit einer anderen Hintergrundfarbe belegen. Dabei bin ich nicht auf den JTextPane festgelegt, wenn das in der JTextArea zu bewerkstelligen ist, dann ist es auch OK.

      Beispieltext in einem JtextArea:

      Dies
      ist ein
      Beispieltext
      in einer
      JTExtArea.

      In meinem Editor soll jetzt zB die 3. Zeile ("Beispieltext") mit einer anderen Hintergrundfarbe belegt werden. Die anderen Zeilen sollen weiterhin weiß als Hintergrundfarbe behalten.

      gruss

      bernd

      Hallo,

      ich versuche für einen Texteditor mit JTextPane eine Zeile (die gesamte Zeile nicht nur den Text der Zeile)
      Definiere Zeile im JTextPane!
      zu markieren,
      Definiere markieren!
      weiss aber nicht wie ich dabei vorgehen soll. Hat jemand ne Idee?

      Ich glaskugle mal:
      Du hast eine Caret-Position und willst nun wissen, wo der Absatz (Paragraph) im StyledDocument, welches im JTextPane angezeigt wird, beginnt und endet, in dem sich diese Position befindet.

      • absichtlich keine Links, da die Ankernamen hier nicht akzeptiert werden:

      http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextPane.html#getStyledDocument()

      http://java.sun.com/j2se/1.3/docs/api/javax/swing/text/StyledDocument.html#getParagraphElement(int)

      http://java.sun.com/j2se/1.3/docs/api/javax/swing/text/Element.html#getStartOffset()
      http://java.sun.com/j2se/1.3/docs/api/javax/swing/text/Element.html#getEndOffset()

      viele Grüße

      Axel

      1. Hallo Bernd,

        ich möchte für eine einzige Zeile die Hintergrundfarbe ändern, egal ob sie text enthält oder nicht. Dies soll unabhängig vom Cursor passieren. Ähnlich so als würde ich in einer Tabelle ein Feld mit einer anderen Hintergrundfarbe belegen. Dabei bin ich nicht auf den JTextPane festgelegt, wenn das in der JTextArea zu bewerkstelligen ist, dann ist es auch OK.

        Nein, ein JTextArea kann nur Plain-Text mit _einem_ Format für _allen_ Text enthalten.

        Schau mal hier:

        http://javaalmanac.com/egs/javax.swing.text/tp_StyledText.html?l=find

        viele Grüße

        Axel