addMouseMotionListener(new MouseAdapter() {
public void mouseMoved(MouseEvent e) {
try{
nowIndex = -1;
for (int i = 0; i < getTabCount(); i++) {
if (closeRects[i].contains(e.getPoint())
&& closable.get(i)) {
nowIndex = i;
break;
}
}
在有时情况下closeRects[i]对象只有一个,getTabCount()为2。此时会数组越界。帮忙看下能弄好不?谢谢

解决方案 »

  1.   

    你可以先做数组越界判断啊,i < getTabCount() && i < closeRects.length
      

  2.   

    问题我已经解决。我是想SUNYI看下为什么会出现closeRects.length小于getTabCount()的那种情况,这边的逻辑应该还是有点问题。我这边是多个STabbedPane的时候。从一个STabbedPane中触发一个事件再另一个STabbedPane中增加一个Tab页。还有别的情况也会出现。不过不好定位