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));
    }
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 ( ) ; 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.