package jas2.swingstudio.adaptor;
import java.util.*;
import java.io.File;
import javax.swing.*;
import jas2.swingstudio.*;
import jas2.util.OnScreenPopupMenu;

public class ProgramTreeAdaptor extends TreeAdaptor
{
	final public void onDoubleClick() throws JASException
	{
		final String[] path = getTreeItem().path;
		final String fileName = path[path.length - 1].concat(".java");
		final Enumeration e = JASSourcePath.create().elements();
		final File f = JASSourcePath.create().findFile(fileName);
		if (f != null)
		{
			try
			{
				JavaAnalysisStudio.getApp().openFile(f);
			}
			catch (final FileError x)
			{
				JavaAnalysisStudio.getApp().error("File error", x);
			}
			catch (final java.net.MalformedURLException x)
			{
				// Cant really happen
				JavaAnalysisStudio.getApp().error("File error", x);
			}
		}
		else
		{
			JOptionPane.showMessageDialog(JavaAnalysisStudio.getApp().getFrame(),
				"File "+ fileName +" not found in source path.", "File not found",
				JOptionPane.ERROR_MESSAGE);
		}
	}
	final protected JPopupMenu getPopupMenu()
	{
		final JPopupMenu menu = new OnScreenPopupMenu();
		menu.add(new JMenuItem("Open source file")
		{
			final protected void fireActionPerformed(final java.awt.event.ActionEvent e)
			{
				try
				{
					onDoubleClick();
				}
				catch (Throwable t) { t.printStackTrace(); }
			}
		});
		return menu;
	}
}

 

Ads help maintain this website.