Kirjoittaja Aihe: java: AbstractDocument ei päivity tekstiä lisättäessä.  (Luettu 1739 kertaa)

ilkkak

  • Käyttäjä
  • Viestejä: 405
    • Profiili
Alla koodi, jolla luodaan tekstipaneeli, jossa AbstractDocument.

Komennolla

 
Koodia: [Valitse]
      tekstipaneeliT tp = new tekstipaneeliT(new JTextPane());
        tp.doc.replace(0,tp.doc.getLength(), "tekstiä tekstiä tekstiä",attr);
        String sisalto = tp.doc.getText(0,tp.doc.getLength());
        tp.doc.replace(0,tp.doc.getLength(), sisalto +"\n\tLisättävä teksti",attr);

ei tekstilaatikko päivity heti vaan vasta jonkin ajan kuluttua. Miten saat tekstin heti päivittymään (actionEvent vai repaint() vai mikä?)
 tp.repaint() ei tuntunut toimivan.


Koodia: [Valitse]
public class tekstipaneeliT extends JScrollPane {
  public AbstractDocument doc;
  public JTextPane textpane;

//**************************************************************
  public tekstipaneeliT(){
  }
//**************************************************************
  public tekstipaneeliT(JTextPane textpane){
    super(textpane);
    this.textpane = textpane;

    StyledDocument styledDoc = this.textpane.getStyledDocument();
    if (styledDoc instanceof AbstractDocument) {

      doc = (AbstractDocument)styledDoc;

    } else {
      System.err.println("layoutManager: Text pane's document isn't an AbstractDocument!");
      System.exit(-1);
    }
  }




java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
« Viimeksi muokattu: 30.12.07 - klo:12.18 kirjoittanut ilkkak »