要求在界面中显示一个本地计算机中的文件夹的树形结构,选取一个文件夹后,在右边以缩略图的形式将该文件夹中的图片显示出来。哪位大哥大姐知道怎样写

解决方案 »

  1.   

    简单给你写了个。确实 不给技术分   很少人愿意 回答。。谁也别怪。。你也许也这样呵呵 import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import java.io.File;
    import java.io.IOException;import javax.imageio.ImageIO;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class PreviewTest 
    {
       public static void main(String []args)
        {
    new PreviewFrame();
    }
    }
    class PreviewFrame extends JFrame
    {
    BufferedImage image;
    JFileChooser chooser;
    private static final long serialVersionUID = 1L; public PreviewFrame()
    {
    setSize(400,400);
     chooser=new JFileChooser();
    chooser.setCurrentDirectory(new File(".")); 
    chooser.addPropertyChangeListener(new PropertyChangeListener(){

    public void propertyChange(PropertyChangeEvent arg0) 
    {

    try
    {
    if(chooser.getSelectedFile()==null)return;
    image=ImageIO.read(chooser.getSelectedFile());
    repaint();

    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }});
    JPanel panel=new PreviewPanel(chooser);

    chooser.setAccessory(panel);
    add(chooser);
    setVisible(true);
    }
    class PreviewPanel extends JPanel 
    {

    JFileChooser jf;
    private static final long serialVersionUID = 1L;
    public PreviewPanel(JFileChooser jf)
    {
    this.jf=jf;
    Dimension sz = new Dimension(200,200);
             setPreferredSize(sz);
    }
    public void paint(Graphics g)
    {
    if(image!=null)
    g.drawImage(image,image.getWidth(),image.getHeight(),null);
    }


    }
    }