import java.io.*;
import java.awt.*;
import java.awt.event.*;

class AboutDialog extends Dialog {
  private static Image pict = null;

  // ----------------------
  public AboutDialog(Frame owner) { 
    super(owner, "About ...", true);
    pict = getImage("FireGirl.jpg");
    MediaTracker mt = new MediaTracker(this);
    mt.addImage(pict, 0);
    try {
      mt.waitForID(0, 5000L);
    } catch (InterruptedException e) {}
    setSize(pict.getWidth(this) + 20 , pict.getHeight(this) + 40);
    setResizable(false);
    addWindowListener(  new WindowAdapter()
      { public void windowClosing(WindowEvent e) { setVisible(false); } }
    );
    addKeyListener( new KeyAdapter()
      { public void keyPressed(KeyEvent e) { setVisible(false); } }
    );
    addMouseListener( new MouseAdapter()
      { public void mouseClicked(MouseEvent e) { setVisible(false); } }
    );
  }

  // ----------------------
  public Image getImage(String s) {
    InputStream inputstream = getClass().getResourceAsStream(s);
    if(inputstream == null) {
       return null;
    }
    ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
    byte abyte0[] = new byte[1024];
    try {
      int i;
      do {
        i = inputstream.read(abyte0);
        if(i != -1)
          bytearrayoutputstream.write(abyte0, 0, i);
      } while(i != -1);
      inputstream.close();
    } catch(IOException _ex) {
      try {
        inputstream.close();
      } catch(IOException _ex2) { }
      return null;
    }
    return Toolkit.getDefaultToolkit().createImage(bytearrayoutputstream.toByteArray());
  }
  
  // ----------------------
  public void paint(Graphics g) {
    g.drawImage(pict, 10, 30, this);
  }
}