Witam niedawno zacząłem pisać aplikację do kompresji obrazów, a że nigdy wcześniej nie zajmowałem się obrazami w javie napotkałem taki problem którego za bardzo nie potrafię rozwiązać. Na podstawie tutoriali i swojej bardzo szczuplej wiedzy napisałem metodę wczytującą obraz do pamięci wybranego jfilechoserem kod poniżej:

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       JFileChooser jfc = new JFileChooser();
    jfc.setCurrentDirectory(new File("C:\\INFMED\\PROJ\\img"));
    jfc.showOpenDialog(null);
    File sf = jfc.getSelectedFile();
    if( sf==null )
      return;

    String iconName = sf.getAbsolutePath();
    URL imgUrl = null;
    try
    {
      imgUrl = new URL("file:\\"+iconName);
    }
    catch(MalformedURLException murle){}

    imageA = getToolkit().getImage(imgUrl);
    MediaTracker mt = new MediaTracker(this);
    try
    {
      mt.addImage(imageA,0);
      mt.waitForAll();
    }
    catch (InterruptedException ie)
    {}
    if( mt.isErrorAny() )
      System.out.println("Error");
    
    jDrawPanel.repaint();  //Odświeżamy panel który ma nadpisaną metodę print i wyświetla wczytany obraz
    
    }                           

Problem jest taki że pliki jpg png są wczytywane elegancko natomiast przy plikach BMP wyskakują błędy w MediaTrackerze. I tutaj moje pytanie, czytając dokumentację klasy nie natrafiłem na żadne ograniczenia MT co do formatu obrazu, a nie umiem znaleźć błędu który uniemożliwia wczytywanie bitmap.
Z góry dziękuje za pomoc i wskazówki.