import java.awt.Dimension;  
import java.awt.HeadlessException;
import java.awt.Point; 
import java.awt.event.ActionListener; 
import java.awt.event.ComponentAdapter; 
import java.awt.event.ComponentEvent; 
import java.awt.Color;
import java.awt.Font;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.io.File;
import javax.swing.*;
import javax.imageio.*;
import javax.imageio.stream.*;
 public class JFrameTest7A  extends JFrame
  {
   private  Timer timer;
private JViewport window; 
private  JPanel view; 
public  File[] files;
public   Icon[] icons;
private  Point anchor;    JFrameTest7A()

anchor = new Point(); 
view = new JPanel();
  window = new JViewport(); 
  window.setView(view);
  getContentPane().add(window, BorderLayout.CENTER);

addComponentListener(new ComponentAdapter()
  { 
 
public void componentResized(ComponentEvent e) 


anchor.x = 0;
anchor.x = -window.getExtentSize().width; 
window.setViewPosition(anchor); 

}
); 

timer = new Timer(50, new ActionListener()

   { 
public void actionPerformed(ActionEvent e) 


animate(); 

   }
); 

timer.setInitialDelay(0);//设置延迟


setBounds(10, 10, 800, 200);
        setTitle("ImageView");
timer.start(); 
}
private void animate() 

Dimension extSize = window.getExtentSize(); 
Dimension viewSize = view.getPreferredSize(); 
anchor.x += 4;
window.setViewPosition(anchor); 
if (anchor.x > viewSize.width) 
     anchor.x = -extSize.width; 
}  public void addFile(File[] files)
{

for(int count = 0; count < files.length; count++)
{
ImageIcon icon = new ImageIcon(files[count].getAbsolutePath());
JLabel label = new JLabel(icon);
    view.add(label); 
}
setVisible(true);
}

  }
///////////////////////////////////////////////////////////////////////////////
import java.awt.Dimension;  
import java.awt.HeadlessException;
import java.awt.Point; 
import java.awt.event.ActionListener; 
import java.awt.event.ComponentAdapter; 
import java.awt.event.ComponentEvent; 
import java.awt.Color;
import java.awt.Font;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.io.File;
import javax.swing.*;
import javax.imageio.*;
import javax.imageio.stream.*; public class JFrameTest6 extends JFrame implements ActionListener
 {

private boolean f;
JPanel p;
JFrameTest7A frame1; 
  JFrameTest6()
  
  {
   JButton openbutton=new JButton("OpenFile");
openbutton.addActionListener(this);
p=new JPanel();
p.add(openbutton);
getContentPane().add(p, BorderLayout.CENTER);//getContentPane()是获得窗口面板
f = false;
   
  }
 
  public static void main(String[] args)
  {
    JFrameTest6 frame = new JFrameTest6();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭
    frame.setBounds(10, 10, 300, 200);//设置位置大小
    frame.setTitle("sousennha");//显示标题
frame.setLocationRelativeTo(null);//此方法设置对话框相对于指定组件的位置。如果组件当前没有显示,对话框将位于屏幕中央
    frame.setVisible(true);//使可视化组建看见
  }
  public void actionPerformed(ActionEvent e)//actionPerformed是一个方法,表示对象上发生操作时调用
  {
  
   JFileChooser filechooser = new JFileChooser();
    filechooser.setMultiSelectionEnabled(true);//true允许选择多个文件
    int selected = filechooser.showDialog(JFrameTest6.this,"Select Image File");

if (selected == JFileChooser.APPROVE_OPTION)//弹出文件选择器,并判断是否点击打开按钮
{   
if(f == false)
{
     frame1 =new JFrameTest7A();
f = true;
}   
      File[] files = filechooser.getSelectedFiles();//得到选择文件或目录的绝对路径       
frame1.addFile(files);

}  
  }
  
}