You may view the code for GetFile.java below and for BrowserFilter.java by clicking here.
Contact me if you wish to see the original source code.
// GetFile.java - Cory Goldfuss - Mar 20 2001
// Testing file chooser by loading an image and showing the name.
// Test program for later application of SlideShowMaker.java
// 20 Apr 2001 - Modified to work within web browsers
// File chooser disabled (// = commented out from normal version)



import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//import java.io.*;
import javax.swing.border.*;




public class GetFile extends JApplet implements ActionListener
{
    
    //private File myImage;
    private ImageIcon selectedImage;
    //private String imageName;
    private String fileName;
    private TitledBorder imageBorder;
    private EtchedBorder myBorder = new EtchedBorder( EtchedBorder.RAISED );
    public void init()
	{
	    Container c = getContentPane();
	    // This line prevents the "Swing: checked access to system event queue" message seen in some browsers.
		getRootPane().putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);
		
		// This code is automatically generated by Visual Cafe when you add
		// components to the visual environment. It instantiates and initializes
		// the components. To modify the code, only use code syntax that matches
		// what Visual Cafe can generate, or Visual Cafe may be unable to back
		// parse your Java file into its visual environment.
		//{{INIT_CONTROLS
		
		
		getContentPane().setLayout(null);
		setSize(548,428);
		JimageBtn.setRequestFocusEnabled(false);
		JimageBtn.setText("Get Image");
		JimageBtn.setActionCommand("Get Image");
		JimageBtn.setMnemonic((int)'G');
		getContentPane().add(JimageBtn);
		JimageBtn.setBounds(12,12,94,30);
		JPanel1.setLayout(null);
		getContentPane().add(JPanel1);
		JPanel1.setBounds(12,48,526,372);
		JPanel1.add(JScrollPane1);
		JScrollPane1.setBounds(12,24,504,336);
		JLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
		JLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
		JScrollPane1.getViewport().add(JLabel1);
		JLabel1.setBounds(0,0,501,333);
		//}}
		JimageBtn.addActionListener( this );
		
		selectedImage = new ImageIcon( getImage( getCodeBase(), "webPic.jpg" ) ); //web friendly
	
	}

	//{{DECLARE_CONTROLS
	javax.swing.JButton JimageBtn = new javax.swing.JButton();
	javax.swing.JPanel JPanel1 = new javax.swing.JPanel();
	javax.swing.JScrollPane JScrollPane1 = new javax.swing.JScrollPane();
	javax.swing.JLabel JLabel1 = new javax.swing.JLabel();
	//}}
	
	
	public void actionPerformed( ActionEvent e ){
	 if (e.getSource() == JimageBtn){
	    
	    JLabel1.setIcon( selectedImage );
	    fileName = "webPic.jpg";
	    createBorder( fileName );
	    
	    /* File Chooser off 
	    //Create file chooser
	    JFileChooser fileChooser = new JFileChooser();
	    //only allow files
	    fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
	    // set filter to just .jpg's (and .jpeg)
	    BrowseFilter jpgFilter = new BrowseFilter(".jpg", "JPG files (*.jpg)");
	    BrowseFilter jpegFilter = new BrowseFilter(".jpeg", "JPEG files (*.jpeg)");
	    BrowseFilter gifFilter = new BrowseFilter(".gif", "Compuserve GIF (*.gif)");
	    fileChooser.addChoosableFileFilter( gifFilter );
	    fileChooser.addChoosableFileFilter( jpegFilter );
	    fileChooser.addChoosableFileFilter( jpgFilter );
	    //fileChooser.setAcceptAllFileFilter( false );  // prevent user from picking non-image files
	    fileChooser.setFileFilter( jpgFilter );
	    
        // handle results
        
	    int result = fileChooser.showOpenDialog( this );
	    myImage = fileChooser.getSelectedFile();
	       
	        
	    try{
	    imageName = myImage.getAbsolutePath();    // get full path to file
	    fileName = myImage.getName();             // get name of file for border
	    }
	    catch ( NullPointerException npe ){
	        System.out.println( npe );
	        JOptionPane.showMessageDialog( this, "Please choose an image.", "No Image Selected", JOptionPane.INFORMATION_MESSAGE);
	    }
	    
	    if ( myImage != null ){
	    createBorder( fileName );
	    showStatus( imageName );                  // show path in status bar
	    JLabel1.setIcon( new ImageIcon( imageName ) );
	    }
	    
	  */
	  //end file chooser off
	 }
	 
	 
	 
	}
	
	// used to make border around panel
	public void createBorder( String name ){
	    
	    imageBorder = new TitledBorder( myBorder, name );
	    JPanel1.setBorder( imageBorder );
	}
}