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