I've been looking at line 19 of this method, but there's nothing around there which point to an array.
Does anyone have a clue? The code is below as well...
Thnkx a lot!
org.mozilla.javascript.WrappedException: Wrapped java.lang.ArrayIndexOutOfBoundsException: -1 (nav_showNavTabs#19)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1828)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:199)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:347)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:65)
at org.mozilla.javascript.gen.c251._c0(nav_showNavTabs:19)
at org.mozilla.javascript.gen.c251.call(nav_showNavTabs)
at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:111)
at org.mozilla.javascript.gen.c51._c0(nav_callbackTree:127)
at org.mozilla.javascript.gen.c51.call(nav_callbackTree)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3125)
at org.mozilla.javascript.gen.c51.call(nav_callbackTree)
at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:37)
at com.servoy.j2db.plugins.ClientPluginAccessProvider$MethodExecutor.run(ClientPluginAccessProvider.java:23)
at com.servoy.j2db.plugins.ClientPluginAccessProvider.executeMethod(ClientPluginAccessProvider.java:38)
at com.servoy.extensions.beans.dbtreeview.FunctionDef.exec(FunctionDef.java:28)
at com.servoy.extensions.beans.dbtreeview.SwingDBTreeView.callMethod(SwingDBTreeView.java:850)
at com.servoy.extensions.beans.dbtreeview.SwingDBTreeView.valueChanged(SwingDBTreeView.java:829)
at javax.swing.JTree.fireValueChanged(Unknown Source)
at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source)
at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source)
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source)
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source)
at javax.swing.JTree.setSelectionPath(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
at java.awt.AWTEventMulticaster.mousePressed(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)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(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)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(Unknown Source)
at com.servoy.j2db.dataui.SpecialTabPanel.Za(SpecialTabPanel.java:121)
at com.servoy.j2db.dataui.SpecialTabPanel.stateChanged(SpecialTabPanel.java:36)
at com.servoy.j2db.dataui.Zzd.setSelectedIndex(Zzd.java:3)
at com.servoy.j2db.dataui.Zzd.addTab(Zzd.java:89)
at com.servoy.j2db.dataui.SpecialTabPanel.addTab(SpecialTabPanel.java:198)
at com.servoy.j2db.dataui.SpecialTabPanel.js_addTab(SpecialTabPanel.java:95)
at sun.reflect.GeneratedMethodAccessor190.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:179)
... 48 more
- Code: Select all
function nav_showNavTabs()
{
var $program = globals.nav_program; //current program the application is in
var $treeId = globals.k_current_button_id; //current dbTreeView record id
var $obj = globals.nav.menu[$treeId]; //get part of the object for this tree to get properties
var $tabForm = $program + '_dtl_tab'; //define tabform
var $body = forms.nav_menu_body.elements.tp_Body;
if($obj.tabsArr.length > 0 && forms[$tabForm]) //see if there's a tabArray in de object with length > 0
{
var $tabs = forms.nav_tabs.elements.tp_navTab;
globals.nav_reset_tab(true); //initialize the form on tp_navTab
if($body.getTabFormNameAt(1) != $tabForm) //see if the current form on the bodytab is what it should be
{
globals.nav_bodyform = $tabForm;
$body.removeAllTabs();
$body.addTab(forms[globals.nav_bodyform]);
var $ds = databaseManager.convertToDataSet(globals.nav_cur_pk);
forms[globals.nav_bodyform].controller.loadRecords($ds);
}
for ( var i = 0; i < $obj.tabsArr.length ; i++)
{
var $id = $obj.tabsArr[i];
var $name = globals.nav.menu[$id].i18n_trans;
$tabs.addTab(forms.Dummy, $id, $name, null, null, null, null, null,i+1);
}
var $newIndex = $obj.lasttab;
if($tabs.tabIndex != $newIndex) globals.nav.noTabCallback = 1;
$tabs.tabIndex = $newIndex;
globals.nav.tabindex = $newIndex //save for historyupdate
}
etc.etc.etc........