home *** CD-ROM | disk | FTP | other *** search
- package hhapplet;
-
- import java.applet.Applet;
- import java.awt.Button;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Frame;
- import java.awt.GridLayout;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.Toolkit;
- import java.awt.Window;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Vector;
-
- public class PopupMenu extends Window {
- private Applet m_applet;
- private Vector m_vEntries;
- private boolean m_bIsIE3 = false;
- private Point m_pntPosition;
-
- public PopupMenu(Applet var1, Vector var2) {
- super((Frame)null);
- this.m_applet = var1;
- this.m_vEntries = var2;
- ((Container)this).setLayout(new GridLayout(var2.size(), 1));
-
- for(int var3 = 0; var3 < var2.size(); ++var3) {
- ((Container)this).add(new Button(((IndexSecondaryEntry)this.m_vEntries.elementAt(var3)).name));
- }
-
- ((Window)this).pack();
- Rectangle var7 = ((Component)this).bounds();
- if (var7.width < 150) {
- var7.width = 150;
- ((Component)this).resize(var7.width, var7.height);
- }
-
- Dimension var4 = Toolkit.getDefaultToolkit().getScreenSize();
- int var5 = var4.width / 2 - var7.width / 2;
- int var6 = var4.height / 2 - var7.height / 2;
- this.m_pntPosition = new Point(var5, var6);
- ((Component)this).move(var5, var6);
- }
-
- public void show() {
- if (this.m_bIsIE3) {
- Dimension var1 = ((Component)this).size();
- ((Component)this).reshape(this.m_pntPosition.x, this.m_pntPosition.y, var1.width, var1.height);
- super.show();
- ((Component)this).reshape(this.m_pntPosition.x, this.m_pntPosition.y, var1.width, var1.height);
- } else {
- super.show();
- }
- }
-
- public boolean action(Event var1, Object var2) {
- String var3 = var2.toString();
-
- for(int var4 = 0; var4 < this.m_vEntries.size(); ++var4) {
- if (var3 == ((IndexSecondaryEntry)this.m_vEntries.elementAt(var4)).name) {
- try {
- IndexSecondaryEntry var5 = (IndexSecondaryEntry)this.m_vEntries.elementAt(var4);
- String var6 = var5.frame != null ? var5.frame : "_self";
- URL var7 = URLFileHandler.makeURL(this.m_applet.getDocumentBase(), var5.local, var5.url);
- String var8 = var7.toString();
- if (var8.indexOf("file:/\\\\") == 0) {
- var8 = "file://" + var8.substring(8);
- var7 = new URL(var8);
- }
-
- this.m_applet.getAppletContext().showDocument(var7, var6);
- } catch (MalformedURLException var9) {
- ((Throwable)var9).printStackTrace();
- }
-
- ((Window)this).dispose();
- }
- }
-
- return true;
- }
-
- public boolean handleEvent(Event var1) {
- if (var1.id == 201) {
- ((Window)this).dispose();
- }
-
- return super.handleEvent(var1);
- }
- }
-