1、要使JTextArea帶有滾動條,需將JTextArea對象添加到JScrollPane中。
JTextArea logArea = new JTextArea(15, 35); //創建JTextArea對象 logArea.setWrapStyleWord(true); //換行方式:不分割單詞 logArea.setLineWrap(true); //自動換行 //給JTextArea添加垂直滾動條 JScrollPane logScroll = new JScrollPane(logArea,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
2、要使JTextArea在更新內容時自動滾動到最后一行,可以通過對JScrollBar進行操作。
static JScrollBar scrollBar=logScroll.getVerticalScrollBar(); //每次需要在JTextArea增加String時,調用如下方法
private void refreshTextArea(String text){ logArea.append(text);
//在更新logArea后,稍稍延時,否則getMaximum()獲得的數據可能不是最后的最大值,無法滾動到最后一行
try { Thread.sleep(100); } catch (InterruptedException ex) { Logger.getLogger(TestServer.class.getName()).log(Level.SEVERE, null, ex); } scrollBar.setValue(scrollBar.getMaximum()); }