textField3.setEnabled(false);
textField3.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
System.out.println("mouseReleased");
String tempstr = "";
// if(textField3!=null){
// System.out.println("test point 1");
// tempstr = textField3.getText();
// System.out.println("test point 2");
// }
String sfs = "";

sfs = table_Model.getValueAt(table.getSelectedRow(),
table.getSelectedColumn()).toString();
System.out.println("test point 111");
if (textField3.getText().equals("+")) {
System.out.println("start expand");
int selectRow = table.getSelectedRow();
System.out.println("select row = " + selectRow);
System.out.println("expand axm");
textField3.setText("-");
table_Model.expandRow(vector, selectRow);
table.updateUI();
} else if (textField3.getText().equals("-")) {
int selectRow = table.getSelectedRow();
System.out.println("select row = " + selectRow);
System.out.println("hidden axm");
textField3.setText("+");
table_Model.hiddenRow(vector, selectRow);
table.updateUI();
} else {
System.out.println("textField is null");
}
}
});报的异常是:
mouseReleased
test point 111
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.plaf.basic.BasicTableUI$Handler.setValueIsAdjusting(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)start expand
select row = 0
expand axm
axm position = 0
select row = 0
content's size = 1
content's size = 2
content's size = 3
content's size = 4 at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

解决方案 »

  1.   

    把textfield3.getText()输出来看看
      

  2.   

    NullPointerException 自己debug调吧
      

  3.   

    mouseReleased  是键盘按下时候,抛的异常。
    如果不确定TestField里的值那就用     "+".equals(textField3.getText()),在这设个断点,debug下。
      

  4.   

    现在找出问题原因了,不过还是无法解决,我把table.updateUI(),改成table.repaint(),就不会报错,但是表格刷新又不的行了,请问是杂个回事,用UpdateUI又有错,
      

  5.   

    你尝试将table.updateUI()去掉改掉顶层容器的validate()方法试试
      

  6.   

    在model添加的时候就刷新,用fireinsertXXX()进行刷新,就不会出现表格刷新不成功。