void enterInterruptImpl ( Dim . StackFrame lastFrame , String threadTitle , String alertMessage ) { statusBar . setText ( "Thread: " + threadTitle ) ; showStopLine ( lastFrame ) ; if ( alertMessage != null ) { MessageDialogWrapper . showMessageDialog ( this , alertMessage , "Exception in Script" , JOptionPane . ERROR_MESSAGE ) ; } updateEnabled ( true ) ; Dim . ContextData contextData = lastFrame . contextData ( ) ; JComboBox < String > ctx = context . context ; List < String > toolTips = context . toolTips ; context . disableUpdate ( ) ; int frameCount = contextData . frameCount ( ) ; ctx . removeAllItems ( ) ; // workaround for JDK 1.4 bug that caches selected value even after // removeAllItems() is called ctx . setSelectedItem ( null ) ; toolTips . clear ( ) ; for ( int i = 0 ; i < frameCount ; i ++ ) { Dim . StackFrame frame = contextData . getFrame ( i ) ; String url = frame . getUrl ( ) ; int lineNumber = frame . getLineNumber ( ) ; String shortName = url ; if ( url . length ( ) > 20 ) { shortName = "..." + url . substring ( url . length ( ) - 17 ) ; } String location = "\"" + shortName + "\", line " + lineNumber ; ctx . insertItemAt ( location , i ) ; location = "\"" + url + "\", line " + lineNumber ; toolTips . add ( location ) ; } context . enableUpdate ( ) ; ctx . setSelectedIndex ( 0 ) ; ctx . setMinimumSize ( new Dimension ( 50 , ctx . getMinimumSize ( ) . height ) ) ; }
Handles script interruption .