Solved

Floating Menu Bar (using the java Frame class)

Posted on 1997-07-17
3
242 Views
Last Modified: 2008-03-06
Has anyone created any type of floating menu/toolbar for use with a website?  I am trying to develop one by using the java Frame class and adding a Menubar to it.  I am trying open up different HTML pages when I click on a particular menu item.  It will open an HTML page once, but after that, it no longer will open any HTML pages.  Does anyone know what the problem could be?  If so, do you know how I could correct it?
0
Comment
Question by:cadillac
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 2

Expert Comment

by:webster030697
ID: 1223299
Post the code, and I'll take a look at it.
0
 

Author Comment

by:cadillac
ID: 1223300
/*
    A basic extension of the java.awt.Frame class
 */
This is the code for the Frame which contains the menubar and toolbar:

import java.awt.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.applet.*;

public class OptionFrame extends Frame
{
    String path = "file:///C|/VisualCafePro/BNP Real/";
   
    void Browse_Action(Event event)
    {
       Component c = this;

            while (true) {
                if (c == null) {
                    System.out.println("Null Component");
                    dispose();
                }

                if (c instanceof Frame)
                    break;

                c = c.getParent();
            }

            RegDlg dlg = new RegDlg((Frame)c, false);
    }
   
    void Submit_Action(Event event)
    {
        //openURL(path +"html2.html");
    }
   
    void PMT_Action(Event event)
    {
        //openURL(path +"html3.html");
    }
   
    void Help_Action(Event event)
    {
        //openURL(path +"html4.html");
    }
   
    void Online_Action(Event event)
    {
        //openURL(path +"html5.html");
    }
   
    void Close_Action(Event event)
    {
        this.hide();
    }


      public OptionFrame()
      {
            //{{INIT_CONTROLS
            setLayout(null);
            addNotify();
            resize(insets().left + insets().right + 471,insets().top + insets().bottom + 58);
            setBackground(new Color(12632256));
            toolbar = new symantec.itools.awt.util.ToolBarPanel();
            toolbar.setLayout(null);
            toolbar.reshape(insets().left + -2,insets().top + -4,783,54);
            toolbar.setBackground(new Color(12632256));
            add(toolbar);
            toolbar.setBevelStyle(symantec.itools.awt.util.ToolBarPanel.BEVEL_NONE);
            btn1 = new java.awt.Button("Browse Projects");
            btn1.reshape(0,0,90,21);
            btn1.setFont(new Font("Dialog", Font.PLAIN, 12));
            toolbar.add(btn1);
            btn2 = new java.awt.Button("Submitting Components");
            btn2.reshape(90,0,125,21);
            btn2.setFont(new Font("Dialog", Font.PLAIN, 12));
            toolbar.add(btn2);
            btn3 = new java.awt.Button("Download PMT");
            btn3.reshape(215,0,88,21);
            btn3.setFont(new Font("Dialog", Font.PLAIN, 12));
            toolbar.add(btn3);
            btn4 = new java.awt.Button("Online Help");
            btn4.reshape(303,0,69,21);
            btn4.setFont(new Font("Dialog", Font.PLAIN, 12));
            toolbar.add(btn4);
            btn5 = new java.awt.Button("Bits and Pieces");
            btn5.reshape(372,0,87,21);
            btn5.setFont(new Font("Dialog", Font.PLAIN, 12));
            toolbar.add(btn5);
            setTitle("Object Works Menu Bar");
            //}}

            //{{INIT_MENUS
            menuBar1 = new java.awt.MenuBar();

            fileMenu = new java.awt.Menu("File", true);

            subMenu = new java.awt.Menu("Open", true);
            subMenu.add("Browse Components");
            subMenu.add("Submitting Components");
            subMenu.add("Download PMT");
            subMenu.add("Help/Support");
            subMenu.add("Bits and Pieces Online");
            fileMenu.add(subMenu);
            fileMenu.addSeparator();
            fileMenu.add("Close Menu");
            menuBar1.add(fileMenu);

            helpMenu = new java.awt.Menu("Help", true);
            helpMenu.add("Help Topics");
            helpMenu.add("Search");
            helpMenu.addSeparator();
            helpMenu.add("About");
            menuBar1.add(helpMenu);
            setMenuBar(menuBar1);
            //$$ menuBar1.move(-2,55);
            //}}
            show();
      }
      
      /*public String openURL(String url)
    {
        URL theURL = null;
        try { theURL = new URL(url); }
        catch ( MalformedURLException e)
        {
            System.out.println("Bad URL: " + theURL);
        }
        theApplet.getAppletContext().showDocument(theURL);
        return url;
    }*/

      public OptionFrame(String title) {
          this();
          setTitle(title);
      }

    public synchronized void show() {
          move(50, 50);
          super.show();
    }

      public boolean handleEvent(Event event) {
          if (event.id == Event.WINDOW_DESTROY) {
            hide();         // hide the Frame
            return true;
          }
            return super.handleEvent(event);
      }
      
      public boolean action(Event event, Object arg)
      {
          if (event.target instanceof MenuItem)
          {
              String label = (String) arg;
              if (label.equalsIgnoreCase("Browse Components"))
              {
                  Browse_Action(event);
                  return true;
              } else
              if (label.equalsIgnoreCase("Submitting Components"))
              {
                  Submit_Action(event);
                  return true;
              } else
              if (label.equalsIgnoreCase("Download PMT"))
              {
                  PMT_Action(event);
                  return true;
              } else
              if (label.equalsIgnoreCase("Help/Support"))
              {
                  Help_Action(event);
                  return true;
              } else
              if (label.equalsIgnoreCase("Bits and Pieces Online"))
              {
                  Online_Action(event);
                  return true;
              } else
              if (label.equalsIgnoreCase("Close Menu"))
              {
                  Close_Action(event);
                  return true;
              }
          }
          return super.action(event, arg);
    }

      //{{DECLARE_CONTROLS
      symantec.itools.awt.util.ToolBarPanel toolbar;
      java.awt.Button btn1;
      java.awt.Button btn2;
      java.awt.Button btn3;
      java.awt.Button btn4;
      java.awt.Button btn5;
      //}}

      //{{DECLARE_MENUS
      java.awt.MenuBar menuBar1;
      java.awt.Menu fileMenu;
      java.awt.Menu subMenu;
      java.awt.Menu helpMenu;
      //}}
}

0
 
LVL 1

Accepted Solution

by:
vmanocha earned 50 total points
ID: 1223301
This is expected to happen because when you go to some other page, the page containing your applet is no longer there (even though your applet is running). So the AppletContext (the doucment in which the applet is running) is no longer valid and calling showDocument on it would not do anything. A probable solution to this problem is that you always keep your applet document in the browser, so when you call showDocument, you show that doucment in a new browser window -

showDocument (URL, "_blank") ;

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question