package gve.calc;
import awt.Button;
import awt.GridPackLayout;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.applet.Applet;
import java.awt.image.ImageObserver;
import java.io.*;
public class AboutWindow extends Frame implements WindowListener,ActionListener
{
public AboutWindow(Applet app) {
super("About SICECAS " + Main.versionString);
setBackground(Color.lightGray);
Panel rightPanel;
setLayout(new FlowLayout());
// NOTE: first pack()ing and show()ing the window
// causes the window to resize automatically
// when the image is loaded.
try {
URL url = getClass().getResource("geert.gif");
if (url != null) {
Image im = createImage(
(java.awt.image.ImageProducer)url.getContent());
add(new awt.ImagePanel(im,this));
} else {
// Netscape does not support getResource()
// zie http://developer.netscape.com/support/faqs/index.html?content=champions/java.html
// maar wel getResourceAsStream();
InputStream stream = getClass().getResourceAsStream("geert.gif");
if (stream != null) {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int c;
while ((c = stream.read()) >= 0)
bytestream.write(c);
Image im = getToolkit().createImage(bytestream.toByteArray());
add(new awt.ImagePanel(im,this));
stream.close();
}
}
} catch (IOException exc) {}
add(rightPanel = new Panel());
rightPanel.setLayout(new GridPackLayout(0,1));
rightPanel.add(new Label("SICECAS " + Main.versionString,
Label.CENTER));
rightPanel.add(new Label("a SImplistic Calculator & Computer Algebra System",Label.CENTER));
rightPanel.add(new Label(""));
rightPanel.add(new Label("Copyright (C) 1997, 1998, 1999, 2000, 2001, Geert Vernaeve.",
Label.CENTER));
rightPanel.add(new Label("SICECAS comes with ABSOLUTELY NO WARRANTY.",Label.CENTER));
rightPanel.add(new Label("This is free software, and you are welcome to redistribute it",Label.CENTER));
rightPanel.add(new Label("under certain conditions. For details, see the license.",Label.CENTER));
rightPanel.add(new Label("E-mail: geert.vernaeve@rug.ac.be",
Label.CENTER));
Panel buttonPanel = new Panel();
Button b;
buttonPanel.add(b = new Button("OK"));
b.addActionListener(this);
buttonPanel.add(b = new Button("License"));
b.addActionListener(this);
rightPanel.add(buttonPanel);
pack();
setVisible(true);
addWindowListener(this);
}
public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowClosing(WindowEvent e) { dispose(); }
public void windowDeactivated(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void actionPerformed(ActionEvent evt) {
if (evt.getActionCommand().equals("OK"))
dispose();
else if (evt.getActionCommand().equals("License"))
new LicenseWindow();
}
}