把JTextArea當做日志顯示界面時,我們需要限制其行數。
如我們需要把JTextArea顯示的行數控制在200行以內,代碼如下:
/** * This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (jTextArea.getLineCount() >= 200) {
int end = 0;
try {
end = jTextArea.getLineEndOffset(100);
} catch (Exception e) {
}
jTextArea.replaceRange("", 0, end);
}
}
});
}
public void removeUpdate(DocumentEvent evt) {
}
public void changedUpdate(DocumentEvent evt) {
}
});
}
return jTextArea;
}
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (jTextArea.getLineCount() >= 200) {
int end = 0;
try {
end = jTextArea.getLineEndOffset(100);
} catch (Exception e) {
}
jTextArea.replaceRange("", 0, end);
}
}
});
}
public void removeUpdate(DocumentEvent evt) {
}
public void changedUpdate(DocumentEvent evt) {
}
});
}
return jTextArea;
}
posted @ 2011-06-25 07:13 chugf 閱讀(1189) | 評論 (0) | 編輯 收藏