|  
       Op deze pagina ... 
      
         
          |  
             Op deze pagina bespreek ik de oplossing 
              PopupMenuApplet door 
              David Binard.  
            Een prima alternatief, hoewel niet 
              gratis, is apPopupMenu van ApyCom. 
            Er zijn andere 
              navigatie systemen, maar deze zijn helaas VEEL te DUUR voor een 
              prive website, dus zolang mij geen gesponsorde applet wordt verstrekt, 
              zal ik deze ook niet bespreken ... 
           | 
            | 
         
       
      Hoe werkt PopupMenuApplet? 
      
Op mijn oude pagina vond je links bovenin een menu button, 
  dit is het zelfde menu als wat er op dit moment gebruikt wordt op WeetHet, een 
  voorbeeld; 
        
      Wat hebben we nodig ? 
      1. PopupMenuApplet.class 
        2. PopupGen.exe 
         
        Het bestand PopupMenuApplet.class 
        heb je nodig om het menu zichtbaar te maken, plaats deze in dezelfde directory 
        als waar je het HTML-bestand gaat plaatsen. Deze JAVA class is geschreven 
        door David Binard, bezoek zijn 
        pagina voor o.a. de sourcecode en/of nieuwe versies. 
      PopupGen.exe 
        gebruiken we straks om het menu te genereren. 
         
        Laten we eerst beginnen met een afbeelding te maken voor de algemene "menu" 
        knop. 
        Op deze internet pagina heb ik een afbeelding gebruikt welke onderdeel 
        vormt van de kop van mijn oude webpagina: 
        
      De dimensies van dit plaatje: 114 breed 
        en 24 hoog. 
      Als alternatief kun je natuurlijk ook een simpele knop 
        (rechthoekig) maken. 
        Laten we in dit voorbeeld er vanuit gaan dat het plaatje in dezelfde directory 
        staat als het HTML-bestand, en dat het plaatje "button_menu.gif" 
        heet.  
      Nu we een plaatje hebben voor de menu-knop, kunnen we 
        alvast de HTML-code van de web-pagina aanpassen. Daarvoor gaan we een 
        JAVA-applet inbinden door op de gewenste locatie van het menu de volgende 
        code toe te voegen.  
      Merk op: width en height geven dus de 
        breedte en hoogte van het menu-plaatje weer.  
      
      Laten we beginnen met de basis van de applet; 
      <APPLET 
        CODE = "PopupMenuApplet.class" 
        CODEBASE= "." 
        NAME= "PopupMenuApplet2" 
        WIDTH= "120" 
        HEIGHT= "34" 
        MAYSCRIPT 
        > 
        
      We geven hier aan dat we de JAVA klasse (class) "PopupMenuApplet.class" 
        gaan gebruiken. De browser kan deze terug vinden in dezelfde directory 
        als waar het HTML bestand staat, de "." geeft dit aan. 
      We geven de applet een herkenbare naam, hier bijvoorbeeld 
        "PopupMenuApplet2". 
        Als laatste geven we aan hoe groot de applet dient te worden door gebruik 
        te maken van width en height van het eerder genoemde plaatje (de applet 
        hoeft niet groter te worden als het plaatje). 
      Natuurlijk is dit nog niet alles. We gaan nu de applet 
        enkele parameters doorgeven voor o.a. de locatie van het plaatje maar 
        ook hoe het menu eruit moet gaan zien. 
      Laten we eerst aangeven waar het plaatje staat, dit 
        doen we door de volgende code erachter te zetten: 
      
      <PARAM NAME="IMG" VALUE="button_menu.gif"> 
        
      Hier geven we de parameter (PARAM) met de naam 
        "IMG" de waarde (VALUE) "button_menu.gif" 
        mee. 
      Merk op: Deze parameters zijn bepaald 
        door de JAVA applet, dit is dus specifiek voor deze JAVA class !! 
      Nu komt het moeilijke stuk: de menustructuur. 
      Om de applet zo universeel mogelijk te houden moest 
        er een "handige" structuur bedacht worden om de menu-layout 
        door te kunnen geven aan de applet. Laten we dit voor het gemak de "data-parameters" 
        noemen. 
      Schrik niet (ik heb er een handig tooltje voor geknutseld, 
        dus don't worry):  
      
      <PARAM NAME="DATA" VALUE=" 
        {Welkom*welcome.htm*text} 
        {HR} 
        {Internet* {Introductie*internet.htm*text} 
        {HR} 
        {HTML*html.htm*text}  
        {HR} 
        {Navigatie Help*navigationhelp.htm*text} 
        {HR} 
        {Over deze webpagina ...* {Updates*updates.htm*text} 
        {Statistieken*statistics.htm*text} 
        {Software en de Auteur*about.htm*text} 
        } 
        "> 
      Snappie ? Nee ? Geeft niet, want erg overzichtelijk 
        is het niet... 
      De structuur is relatief simpel voor dit voorbeeld, 
        maar de benodigde parameters zijn nogal pittig. Zo ziet de structuur er 
        uit: 
      
         
          | Welkom | 
            | 
         
         
           
             
           | 
            | 
         
         
          | Internet  | 
          >> | 
          Introductie | 
         
         
          | Navigatie Help | 
           
             
           | 
         
         
           
             
           | 
          HTML | 
         
         
          | Over deze webpagina  | 
          >> | 
          Updates | 
         
         
          |    | 
          Statistieken | 
         
         
          |   | 
          Software en de Auteur | 
         
       
      *de submenu's hebben hier een aparte kleur om ze uit 
        elkaar te kunnen houden - dit is natuurlijk niet het geval bij het werkelijke 
        menu ! 
       Om deze parameter eenvoudiger samen te stellen heb 
        ik, zoals eerder vermeld, een klein programma geschreven. Ik moet toegeven 
        dat het geen schoonheidsprijs zal winnen, maar het werkt ... en daar gaat 
        het tenslotte om. 
      Het programma, de menu generator, kan hier worden gedownload. 
      Het programma genereerd de daarnet genoemde "data-parameters". 
       
      Wat hebben we nu nog meer nodig ? 
      We moeten de browser nog vertellen dat dit het einde 
        van de Appler code is door een </APPLET> tag. 
         
        De gehele code voor een pagina zou er dan dus zo uit kunnen zien (de blauw 
        gemarkeerde code heeft betrekking op het popupmenu): 
      <HTML> 
        <HEAD> 
        <TITLE>PopupMenu test pagina</TITLE> 
        </HEAD> 
        <BODY> 
         
      <APPLET 
        CODE = "PopupMenuApplet.class" 
        CODEBASE= "." 
        NAME= "PopupMenuApplet2" 
        WIDTH= "120" 
        HEIGHT= "34" 
        MAYSCRIPT 
        > 
      <PARAM NAME="IMG" 
        VALUE="button_menu.gif"> 
      <PARAM NAME="DATA" 
        VALUE=" 
        {Welkom*welcome.htm*text} 
        {HR} 
        {Internet* {Introductie*internet.htm*text} 
        {HR} 
        {HTML*html.htm*text}  
        {HR} 
        {Navigatie Help*navigationhelp.htm*text} 
        {HR} 
        {Over deze webpagina ...* {Updates*updates.htm*text} 
        {Statistieken*statistics.htm*text} 
        {Software en de Auteur*about.htm*text} 
        } 
        "> 
      </APPLET> 
        </BODY> 
        </HTML> 
      Hoe werkt het PopupGen 
        programma ? 
      Zoals ik al eerder vertelde; dit programma zal wel nooit 
        een schoonheidsprijs winnen. Ik heb het speciaal voor deze website geschreven 
        zodat ik niet te moe zou worden van het schrijven van de JAVA parameters. 
      Laten we beginnen met het downloaden van het programma 
        en de zip-file uit te pakken 
        (b.v. met Winzip). 
      Deze zip-file heeft slechts 1 bestand aan boord, te 
        weten: PopupGen.exe.  
      Onderaan de pagina vind je een klein programma welke 
        een dergelijk project converteerd naar een HTML tabel. 
       
      Het programma wordt gestart door een dubbel klik en 
        het volgende scherm verschijnt: 
        
      Merk op: Als je met een resolutie gelijk 
        aan of kleiner dan 800x600 werkt, zul je niet het gehele window kunnen 
        zien ! Het window is namelijk 818x607 groot (dit i.v.m. overzicht houden 
        over de menustructuur en de plaatsing van de knoppen). 
      Enkele "termen" vooraf: 
      
         
          
          
         
         
          |  
             Add Node 
           | 
          voegt een menu-item op hetzelfde niveau als 
            het geslecteerde item toe | 
         
         
          |  
             Add Subnode 
           | 
          voegt een sub menu-item van het geselecteerde 
            item toe | 
         
         
          |  
             Seperator 
           | 
          voegt een horizontale lijn aan het menu toe | 
         
         
          |  
             Menu label 
           | 
          is de tekst van een menu-item | 
         
         
          |  
             Menu URL 
           | 
          is de link waar dit item heen wijst, dus de 
            pagina die verschijnt als men dit item kiest | 
         
         
          |  
             URL target 
           | 
           is o.a. voor frames bedoeld om aan te geven 
            waar de pagina geopend moet worden | 
         
         
          |  
             Edit Node 
           | 
          leest de gegevens van het geselecteerd menu-item 
            zodat deze bewerkt kunnen worden | 
         
         
          |  
             Apply 
           | 
          wordt gebruikt om de wijzigingen (door eerst 
            met Edit Node te werken) toe te passen | 
         
         
          |  
             Delete Node 
           | 
          verwijderd het geselecteerde item | 
         
         
          |  
             Save Project 
           | 
          opslaan van de structuur zodat we later gemakkelijk 
            items kunnen toevoegen | 
         
         
          |  
             Load Project 
           | 
          openen van een eerder gebouwde structuur | 
         
         
          |  
             Generate 
           | 
          genereerde de benodigde JAVA PARAM code voor 
            jouw webpagina | 
         
         
          |  
             Expand All 
           | 
          alle submenu-items worden zichtbaar gemaakt 
            (uitgeklapt) | 
         
         
          |  
             Collapse All 
           | 
          alle submenu-items worden verborgen (ingeklapt) | 
         
         
          |  
             Exit 
           | 
          verlaat het programma | 
         
       
      Merk op: 
        gebruik GEEN AANHALINGSTEKENS in een menu-titel!  
      Het programma begint met een leeg menu, mocht je nu 
        al eerder een menu hebben gemaakt met PopupGen, dan zou je die nu kunnen 
        inladen met "Load Project" om daar wijzigingen in aan te brengen. 
        Aangezien we dat nog niet hebben gedaan, gaan we nu het eerste menu bouwen. 
        Hierbij nemen we het eerder vernoemde voorbeeld  
        als leidraad 
      Laten we eerst het hoofdmenu toevoegen. 
         
        1. Vul in het veld "Menu label" de waarde "Welkom" 
        in (de haakjes weglaten). 
        2. In het veld "Menu URL" vul je nu "welcome.htm" 
        in. 
        3. Omdat we (op deze pagina) gebruik maken van frames en ik de pagina 
        in het frame "text" wil zien, vullen we bij "URL 
        target" de waarde "text" in.  
        4. Klik nu op "Add Node". 
      Merk op: Punt 3 is voor een pagina zonder 
        frames niet nodig ! 
      We zien het volgende verschijnen:  
        
      Je ziet meteen de waarden terug komen zoals je die ingevuld 
        hebt, gescheiden door een sterretje ("*").  
         
        Dezelfde stappen (met andere waarden natuurlijk) herhalen we voor 
      
         
          
          
          
         
         
          |  
             Internet 
           | 
           
             internet.htm 
           | 
           
             text 
           | 
         
         
          |  
             Navigatie Help 
           | 
           
             navigationhelp.htm 
           | 
           
             text 
           | 
         
         
          |  
             Over deze webpagina ... 
           | 
           
             about.htm 
           | 
           
             text 
           | 
         
       
      Met het volgende als resultaat: 
        
      We missen nu nog de horizontale strepen in het menu. 
       
      We hebben er 2 nodig: druk 2x op de "Seperator" 
        knop. 
      De twee lijnen verschijnen nu,... echter op de verkeerde 
        plaats: 
        
      Met de muis kunnen we nu deze lijnen verplaatsen door 
        ze op de pakken en te slepen naar het menu-item waar ze voor moeten komen 
        te staan. Klik dus een lijn aan met de linker muisknop en hou deze muisknop 
        ingedrukt. 
      Beweeg nu met de muis naar het menuitem waar de streep 
        voor moetn komen te staan en laat de muisknop los. 
      Doe dit ook voor de tweede streep. 
        
      Laten we nu de submenu-items gaan toevoegen. 
         
        Klik daarvoor het menu-item aan met de linker muisknop zodat deze geselecteerd 
        is. 
      1. Vul in het veld "Menu label" de 
        waarde "Introductie" in. 
        2. In het veld "Menu URL" vul je nu "internet.htm" 
        in. 
        3. Omdat we (op deze pagina) gebruik maken van frames en ik de pagina 
        in het frame "text" wil zien, vullen we bij "URL 
        target" de waarde "text" in. 
        4. Klik nu op "Add SubNode". 
      Merk op: Punt 3 is voor een pagina zonder 
        frames niet nodig ! 
         
         
      Voor de voor de volgende items kun je nu twee kanten 
        op. 
        1. Je selecteerd het nieuwe submenu-item en alle volgende items voeg je 
        toe met "Add Node" 
        2. Je veranderd niets aan de selectie en voegt de volgende submenu-items 
        met "Add SubNode" toe. 
      De keuze is geheel aan jou. Bij het toevoegen van een 
        seperator (horizontale lijn) moet je rekenhouden met het feit dat deze 
        altijd op hetzelfde niveau wordt toegevoegd ! Dus wil je een seperator 
        in een submenu, kies dan eerst en item in het submenu en plaats dan pas 
        de seperator. 
      Als je klaar bent met het menu, wordt het tijd om dit 
        project op slaan met "Save Project".  
        Geef het een betekenisvolle naam, bijvoorbeeld menu_project.txt. 
      Een project file wordt opgeslagen in standaard ASCII 
        tekst, je kunt die dus bekijken met een tekstverwerker of Notepad. 
      Afhankelijk van de diepte van een submenu worden er 
        TABs voorgezet. Dus een submenu van het hoofdmenu wordt vooraf gegaan 
        door 1 TAB, een submenu van een submenu door 2 TABs etc. Je kunt hier 
        naar harte lust in rommelen, maar let op de opmaak ! (Met name voor vertaling 
        van het menu erg handig) 
      Laten we nu de JAVA PARAM code genereren door op "Generate" 
        te klikken. 
      Geef het bestand een herkenbare naam, b.v. menu_code.txt. 
      Merk op: Ook voor deze code geldt: het 
        wordt in ASCII tekst opgeslagen. 
      Inbinden in de webpagina is relatief eenvoudig. 
      Open het gegenereerde bestand met notepad. 
      Selecteer alle regels en copieer het naar het clipboard 
        (met CTRL+C of het menu "Edit"-"Copy"). 
      Open nu (bijvoorbeeld met notepad of de HTML-editor) 
        het HTML-bestand en zoek de locatie waar de applet staat. 
      In ons voorbeeld de blauw 
        gemarkeerde tekst: 
      <HTML> 
        <HEAD> 
        <TITLE>PopupMenu test pagina</TITLE> 
        </HEAD> 
        <BODY> 
         
      <APPLET 
        CODE = "PopupMenuApplet.class" 
        CODEBASE= "." 
        NAME= "PopupMenuApplet2" 
        WIDTH= "120" 
        HEIGHT= "34" 
        MAYSCRIPT 
        > 
      <PARAM NAME="IMG" 
        VALUE="button_menu.gif"> 
      <PARAM NAME="DATA" 
        VALUE=" 
        {Welkom*welcome.htm*text} 
        {HR} 
        {Internet* {Introductie*internet.htm*text} 
        {HR} 
        {HTML*html.htm*text}  
        {HR} 
        {Navigatie Help*navigationhelp.htm*text} 
        {HR} 
        {Over deze webpagina ...* {Updates*updates.htm*text} 
        {Statistieken*statistics.htm*text} 
        {Software en de Auteur*about.htm*text} 
        } 
        "> 
      </APPLET> 
        </BODY> 
        </HTML> 
      Sla het HTML bestand op, en je bent klaar met het menu.... 
      Genereer een tabel gebaseerd 
        op het menu 
      Als aanvulling heb ik nog even snel een programma in 
        elkaar geknutseld wat van de project bestanden van een popup-menu ook 
        nog eens een simpele HTML tabel kan maken. Het programma 
        kun je hier downloaden. Deze optie heb ik erbij gezet om de website 
        nog toegankelijk te houden voor de gebruikers waar het menu niet functioneerd. 
        Het programma werkt releatief simpel. 
         
        Stap 1 is het maken van een project file met POPUPGEN.EXE (zoals 
        hierboven uitgelegd wordt). 
         
        Vervolgens heb je een HTML file nodig waarin je een tag zet om aan te 
        geven waar de tabel moet worden ingevoerd. De tag moet er als volgt uitzien: 
        <!--MENU--> 
        
       Stap 1, klik op de "Load Project" 
        knop en selecteer een project file. 
      Stap 2, klik op de "Load HTML" 
        knop en selecteer de HTML file waar de <!--MENU--> tag in 
        staat. 
      Stap 3, klik op de "Create HTML" 
        knop zodat de HTML tabel geplaatst wordt in de HTML code. 
      Stap 4, klik op de "Save HTML" 
        knop om het resultaat op te slaan (zowel naam als locatie zijn vrij te 
        kiezen). 
       |