限制JTextArea显示行数

把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;
}

你可能感兴趣的:(限制JTextArea显示行数)