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)
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)
如果不确定TestField里的值那就用 "+".equals(textField3.getText()),在这设个断点,debug下。