public void actionPerformed(ActionEvent e) {
          JFileChooser c = new JFileChooser();
          if (lastPosition == null)
        	  	c.setCurrentDirectory(new File("."));
          else
        	  	c.setCurrentDirectory(new File(lastPosition));
          c.setAcceptAllFileFilterUsed(false);
          c.addChoosableFileFilter(new ImageFilter());
          int rVal = c.showOpenDialog(TileMain.f);
          if (rVal == JFileChooser.APPROVE_OPTION) {
            filename = c.getSelectedFile().getName();
            dir = c.getCurrentDirectory().toString();
            BufferedImage temp = null;
			try {
				temp = SaveLoadImport.loadImage(dir+File.separatorChar+filename, imViewer, imMapper);
			} catch (WrongSizeException err) {
				JOptionPane.showMessageDialog(f, Utils.lang("errBigImage"));
				temp = null;
			} catch (WrongProportionException err) {
				JOptionPane.showMessageDialog(f, Utils.lang("errPropImage"));
				temp = null;
			} catch (WrongImageTypeException err) {
				JOptionPane.showMessageDialog(f, Utils.lang("errCantOpen"));
				temp = null;
			}
            lastPosition = dir;
            if (temp!=null) {
            		imViewer.setImage(temp);
            		imMapper.repaint();
            		f.setZoomEnabled(true);
            } else {
	            	filename=null;
	            	dir=null;
            }
          }
          if (rVal == JFileChooser.CANCEL_OPTION) {
        	  	
          }
        }