这个错误不是总发生,运行一天,也只有几次吧。程序刷新频率很快的。
这个是程序运行产生的Exception,在程序中把它打印在后台。
但可以肯定是这行出现的错误。以前我查看过。

解决方案 »

  1.   

    那你想大家怎么说呢,有错你可以事先CATCH啊
      

  2.   

    空指针异常,先通过CATCH语句将异常捕获,然后定位异常抛出的位置,在慢慢找,你的
    mMenu.jta.getText().length()可能不对
      

  3.   

    这个mMenu.jta.getText().length()不对?
    是吗,请指出来哪个地方有问题?
    这个是在网上找到的方法,感谢。
      

  4.   

    显示语句如下,每加一句,文本向上滚动一行。这样的语句有很多,形式都是一样的。Mainmenu.jta_right.append("发送数据过程中,服务中心忙,请稍后再试\n");
    if ((Mainmenu.jta_right.getText() != null)) Mainmenu.jta_right.setCaretPosition(Mainmenu.jta_right.getText().length());
      

  5.   

    mMenu.jta.getText()==null
    而你调用null的.length,当然出错
      

  6.   

    我的是不等于啊。
    mMenu.jta.getText()!=null
    而你调用null的.length,当然出错
      

  7.   

    自己实现一个文档过滤器:import javax.swing.*;
    import javax.swing.text.*;
    public class Test1 extends JFrame {
        public static final int MAX_ROWS = 3;
        private JTextArea jta;
        public Test1() {
            AbstractDocument adoc;        jta = new JTextArea(200, 200);
            adoc = (AbstractDocument) jta.getDocument();
            adoc.setDocumentFilter(new DocumentSizeFilter(MAX_ROWS));        this.getContentPane().add(new JScrollPane(jta));
        }    public static void main(String[] args) {
            JFrame frame = new Test1();        frame.setSize(640, 480);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.show();
        }    private class DocumentSizeFilter extends DocumentFilter {
            int maxRows;        public DocumentSizeFilter(int maxRows) {
                this.maxRows = maxRows;
            }        public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text,
                                AttributeSet attrs) throws BadLocationException {
                int allRow;
                String allText;            allText = fb.getDocument().getText(0, fb.getDocument().getLength())
                        + text;
                allRow = allText.split("[\r\n]").length;            if (allRow <= maxRows) {
                    super.insertString(fb, offset, text, attrs);
                } else {
                    remove(fb, 0, fb.getDocument().getLength());
                }
            }
        }
    }
      

  8.   

    显然是这句出了错mMenu.jta.setCaretPosition(mMenu.jta.getText().length()),
    mMenu.jta.getText()可能在某种情况下为null了,这时候取他的长度就肯定会出NullPointerException了,在取length之前,先判断一下吧,加一句:
    if (mMenu.jta.getText() != null) {
        mMenu.jta.setCaretPosition(mMenu.jta.getText().length());
    }
    如果说应该不可能为null的话,就多打点log或者system.out.println来看看哪里
    出了问题吧
      

  9.   

    Mainmenu.jta_right.append("发送数据过程中,服务中心忙,请稍后再试\n");
    if ((Mainmenu.jta_right.getText() != null)) Mainmenu.jta_right.setCaretPosition(Mainmenu.jta_right.getText().length());还有一个可能Mainmenu.jta_right为null,所以append就会出错了,如果是getText操作也会出错