日期:2014-05-20 浏览次数:20921 次
package Bin;
import javax.swing.JList;
import java.io.File;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
public class getListAction implements photoAction,ListSelectionListener
{
    int m;//记录进入该方法的次数,奇数次‘显示列表’,偶数次‘关闭列表’
    int j;
    JList list;//列表
    JLabel label;//存放图片的标签
    String []s1;//图片列表
    String s2;//图片所在文件夹的路径
    
    public getListAction(int m,JList list,String []s1,JLabel label,String s2)//传参
    {
        this.m=m;
        this.s1=s1;
        this.list=list;
        this.label=label;
        this.s2=s2;
    } 
    
    public int action()//m初始为0,由photo传进来的
    {
        if(m%2==0)//显示列表
        {
            list.setListData(s1);
            if(m==0)
            {
                list.setSelectedIndex(1);
            list.addListSelectionListener(this);
            }
        }
        else if(m%2!=0)//关闭列表
        {
            String []s={""};
            list.setListData(s);
        }
        m=m+1;
        return m;
    }
    
    public void valueChanged(ListSelectionEvent e)//响应监听
    {
        String s3=s2;//[b]这里的s2莫名其妙的改掉了,改成了第一次读取的文件夹路径[/b]
        j=list.getAnchorSelectionIndex();
        String ss=s3+"\\"+s1[j];
        System.out.println(s3+"s3=valueChanged");
        System.out.println(s2+"s2=valueChanged");
        label.setIcon(new ImageIcon(ss));
    }
}