[java] RichEdit?

Pagina: 1
Acties:

  • Donderwolk
  • Registratie: Januari 2002
  • Laatst online: 15-05 15:27
Bestaat er zoiets als een RichEdit voor Java?
(Mogelijkheid van meerdere kleuren tekst + plaatjes in een textarea, denk aan MSN)

Ik wil dit gebruiken voor een java IRC client die ik geschreven heb.
Het is hierbij dus de bedoeling dat ik tekst in verschillende kleuren op het scherm kan krijgen en dat er ook support voor o.a. smileys in komt.
Ik hoop dat zoiets bestaat, anders ben ik waarschijnlijk gedoemd om iets geks met Labels te gaan doen, wat ik liever niet wil ;)

Pwnd


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 27-05 21:44

Robtimus

me Robtimus no like you

Kijk eens naar javax.swing.JTextPane

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Donderwolk
  • Registratie: Januari 2002
  • Laatst online: 15-05 15:27
Ah dankjewel, dit moet idd wel lukken.
Voor mensen die geïnteresseerd zijn, de bijbehorende tutorial staat hier:
http://java.sun.com/docs/...wing/components/text.html

Pwnd


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Maak je borst in ieder geval maar nat, dat stuk van Swing is erug lastig om mee te werken, slecht gedocumenteerd en zo traag als de pest.

  • Donderwolk
  • Registratie: Januari 2002
  • Laatst online: 15-05 15:27
Alarmnummer schreef op 02 februari 2004 @ 16:33:
Maak je borst in ieder geval maar nat, dat stuk van Swing is erug lastig om mee te werken, slecht gedocumenteerd en zo traag als de pest.
Heb mijn JTextPane al werkend. Ik moet zeggen dat het vrij eenvoudig in elkaar zit en dat het allemaal nog redelijk snel gaat wanneer het scherm nog vrij leeg is. Zal zometeen even een mooie duurtest uitvoeren waarbij er meer in het scherm te zien is. Waarschijnlijk zal het dan allemaal wat langzamer worden. Bij het initialiseren van het object maak ik alle styles aan waar ik gebruik van maak. Vervolgens kun je gewoon strings aan de textpane toevoegen waarbij je een keus maakt uit de gedefinieerde styles. Plaatjes ben ik nog niet aan toegekomen dat zal ik zo even proberen. Dit is het belangrijkste gedeelte in de code (hier en daar wat ingekort):

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  public JTextPane initTextPane(){
    JTextPane myTextPane = new JTextPane();
    StyledDocument doc = myTextPane.getStyledDocument();

    //Initialize some styles.
    Style def = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);

    Style regular = doc.addStyle("regular", def);
    StyleConstants.setFontFamily(def, "Courier");

    Style s = doc.addStyle("bold", regular);
    StyleConstants.setBold(s, true);

    return myTextPane;
  }

  public void appendMessage( String s, String styleType ){
    try{
      StyledDocument doc = chatPane.getStyledDocument();
      doc.insertString(doc.getLength(), s, doc.getStyle( styleType ));
    }
    catch( Exception e ){
      e.printStackTrace();
    }
  }

Pwnd