import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class Choos extends Frame {
JpgFilter jpgFilter;
JLabel preview = new JLabel();
private int nCurrentY = 10;
List l = new List();
public Choos() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
l.addItemListener(new SelectListener(l, preview));
setLayout(null);
Button bl=new Button();
bl.setSize(100,20);
bl.setLocation(200,300);
bl.setLabel("Choose");
bl.addActionListener(new FileChooseListener(this));
Button rm=new Button();
rm.setSize(100,20);
rm.setLocation(80,300);
rm.setLabel("Remove");
rm.addActionListener(new RemoveListener(this));
l.setBounds(10, 30, 100, 70);
l.setMultipleMode(true);
preview.setBounds(200, 30, 100, 70);
add(l);
add(preview);
add(bl);
add(rm);
}
private void addFileName(String sFileName)
{
l.add(sFileName);
}
public static File[] chooseFiles()
{
JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(true);
JpgFilter jpgFilter = new JpgFilter();
chooser.setFileFilter(jpgFilter);
chooser.addChoosableFileFilter(jpgFilter);
int returnVal = chooser.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
return chooser.getSelectedFiles();
}
return null;
}
class SelectListener implements ItemListener
{
private List l1;
private JLabel ip;
public SelectListener(List l, JLabel ip)
{
l1=l;
this.ip = ip;
}
public void itemStateChanged(ItemEvent ie)
{
final String sFilename = l1.getSelectedItem();
if (sFilename == null)
return;
ImageIcon portrait = new ImageIcon(sFilename);
if (portrait!=null)
ip.setIcon(portrait);
}
}
class FileChooseListener implements ActionListener
{
private Choos c;
public FileChooseListener(Choos c)
{
this.c = c;
}
public void actionPerformed(ActionEvent e)
{
File[] files = Choos.chooseFiles();
if (files == null) return;
for (int i=0; i<files.length; ++i)
{
c.addFileName(files[i].getName());
}
//System.out.println(i);
}
}
class RemoveListener implements ActionListener
{
private List l2;
private Choos rm;
public RemoveListener(Choos rm)
{
l2=l;
this.rm = rm;
}
public void actionPerformed(ActionEvent e1)
{
{
rm.remove(l2.getSelectedIndex());
}
System.out.println(rm);
}
}
public static void main(String args[]) {
Choos mainFrame = new Choos();
mainFrame.setSize(400, 400);
mainFrame.setTitle("Choose");
mainFrame.setVisible(true);
mainFrame.show();
}
}