1. 程式人生 > >Java Swing如何實時重新整理JTextArea,以顯示剛才加append的內容

Java Swing如何實時重新整理JTextArea,以顯示剛才加append的內容

 在程式碼中執行完textArea.append("message")後,如果你想讓這個更新立刻顯示在介面上而不是等swing的主執行緒返回後重新整理,我們一般會在該語句後呼叫textArea.invalidate()和textArea.repaint()。

問題是這個方法並不能有任何效果,textArea的內容沒有任何變化,這或許是swing的一個bug,有一個笨拙的辦法可以實現這個效果,就是執行以下語句

  textArea.paintImmediately(textArea.getBounds());


  textArea.paintImmediately(textArea.getX(), textArea.getY(), textArea.getWidth(), textArea.getHeight());

這時,你會發現你剛才增加的訊息已經被實時地顯示出來了。