稍作处理即可满足你的要求:import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.io.File;
import javax.swing.*;public class JFileChooserTest extends JFrame
{
JFileChooser chooser = new JFileChooser();
JButton button = new JButton("show file chooser...");
ImagePreviewer previewer = new ImagePreviewer();
PreviewPanel previewPanel = new PreviewPanel();

class PreviewPanel extends JPanel
{
public PreviewPanel()
{
JLabel label = new JLabel("Image Previewer",SwingConstants.CENTER);
setPreferredSize(new Dimension(150,0));
setBorder(BorderFactory.createEtchedBorder());
setLayout(new BorderLayout());
label.setBorder(BorderFactory.createEtchedBorder());
add(label,BorderLayout.NORTH);
add(previewer,BorderLayout.CENTER);
}
}

public JFileChooserTest()
{
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
contentPane.add(button);

chooser.setAccessory(previewPanel);

button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int state = chooser.showOpenDialog(null);
File file = chooser.getSelectedFile();
String s = "CANCELED";

if (file != null && state == JFileChooser.APPROVE_OPTION)
{
s = "File Selected:" + file.getPath();
}
JOptionPane.showMessageDialog(null,s);
}
});

chooser.addPropertyChangeListener(new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent e)
{
if (e.getPropertyName().equals(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY))
{
File f = (File) e.getNewValue();
String s = f.getPath(),suffix = null;
int i = s.lastIndexOf('.');

if (i>0 && i<s.length()-1)
{
suffix = s.substring(i+1).toLowerCase();
if (suffix.equals("gif") || suffix.equals("jpg"))
previewer.configure(f);
}
}
}
});

setTitle("Simple File Chooser Application");
setSize(300,300);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}

public static void main(String[] args)
{
JFrame frame = new JFileChooserTest();
frame.setVisible(true);
}
}
class ImagePreviewer extends JLabel
{
public void configure(File f)
{
Dimension size = getSize();
Insets insets = getInsets();
ImageIcon icon = new ImageIcon(f.getPath());
setIcon(new ImageIcon(icon.getImage().getScaledInstance(size.width-insets.left-insets.right,size.height-insets.top-insets.bottom,Image.SCALE_SMOOTH)));
}
}