package net.sourceforge.pmd.util.viewer.gui;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* handles parsing exceptions
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id: ParseExceptionHandler.java,v 1.3 2004/04/15 18:21:58 tomcopeland Exp $
*/
public class ParseExceptionHandler
extends JDialog
implements ActionListener
{
private Exception exc;
private JTextArea errorArea;
private JButton okBtn;
/**
* creates the dialog
*
* @param parent dialog's parent
* @param exc exception to be handled
*/
public ParseExceptionHandler( JFrame parent, Exception exc )
{
super( parent, NLS.nls( "COMPILE_ERROR.DIALOG.TITLE" ), true );
this.exc = exc;
init( );
}
private void init( )
{
errorArea = new JTextArea( );
errorArea.setEditable( false );
errorArea.setText( exc.getMessage( ) + "\n" );
getContentPane( ).setLayout( new BorderLayout( ) );
JPanel messagePanel = new JPanel( new BorderLayout( ) );
messagePanel.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createRaisedBevelBorder( ),
BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder( ),
NLS.nls( "COMPILE_ERROR.PANEL.TITLE" ) ) ) );
messagePanel.add( new JScrollPane( errorArea ), BorderLayout.CENTER );
getContentPane( ).add( messagePanel, BorderLayout.CENTER );
JPanel btnPane = new JPanel( new FlowLayout( FlowLayout.RIGHT ) );
okBtn = new JButton( NLS.nls( "COMPILE_ERROR.OK_BUTTON.CAPTION" ) );
okBtn.addActionListener( this );
btnPane.add( okBtn );
getRootPane( ).setDefaultButton( okBtn );
getContentPane( ).add( btnPane, BorderLayout.SOUTH );
pack( );
setLocationRelativeTo( getParent( ) );
setVisible( true );
}
/**
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed( ActionEvent e )
{
if ( e.getSource( ) == okBtn )
{
dispose( );
}
}
}
/*
* $Log: ParseExceptionHandler.java,v $
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.2 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/