Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Floating Menu Bar (using the java Frame class)

Posted on 1997-07-17
3
Medium Priority
?
257 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
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 100 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Don’ts and Dos are two important end products of software testing basics that a tester needs to regard. This article attempts to explain the principles of both.
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
Suggested Courses
Course of the Month10 days, 4 hours left to enroll

569 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