JavaObjects.net User Documentation
Animated Shuffle Menu
Note : Graphics only available on on-line or Word document formats
http://www.javaobjects.net
(c) Fugazi Consulting Ltd 2003
Overview
A two level navigation menu system, which whizzes the selected main menu item to the top of the list and displays the sub menu items. Can be as large or compact as you like, and really catches the users eye !
• Infinite top level menus, up to 10 sub menu options per top level
• Choose foreground, background and button color
• Configurable for any size button and spacing between buttons
• Curved edge or rectangular buttons
• Set to any animation speed, slow or fast as you prefer
HTML Example
Installation and Configuration
Download the class file. Use the "Buy Now" button found on the website.
Copy the above code (in bold) into your HTML (note, not the content) of your web page, then copy the class file into the same directory.
You can customise your applet by changing the following parameters (some or all of which are optional, i.e. can be omitted) :
width
height Adjust to suit the size of applet you wish to appear on page
forecolor The color of the main menu item text and button outlines. Defaults to black if omitted.
foresubcolor The color of the sub menu item text. Defaults to black if omitted.
backcolor The background color to the applet. Defaults to white.
buttoncolor The background color of the buttons. Defaults to white.
fontstyle Helvetica, TimesRoman or Courier. Defaults to Helvetica if parameter is omitted
fonttype Plain, Bold, Italic. Defaults to Bold if parameter is omitted
fontsize The size of the menu text. Defaults to 11 if omitted
speed The speed of animation. The higher the number, the faster the animation.
buttonheight The height in pixels of each main menu button option.
buttonwidth The width in pixels of each main menu button option.
buttonspace Optional. Advanced User. The space in pixels between each menu option. Defaults to 5.
buttonradius The radius on the corner of each button. 0 will result in a perfect rectangle. Defaults to 10
buttontextleft Optional. Advanced User. The space in pixels from the left edge of the button to the start of the text. Used for aligning the button text perfectly in the centre of the button. Defaults to 14.
buttontexttop Optional. Advanced User. The space in pixels from the top edge of the button to the top of the text. Used for aligning the button text perfectly in the centre of the button. Defaults to 14.
menu_n The list of main menu texts, where 'n' starts at 1. You must have at least two main menu texts (buttons). You can have any number of main menu texts (buttons)
menu_n_m The list of sub menu texts, where 'm' starts at 1 (for the first sub menu) and 'n' relates to the main menu text above (menu_n). You can have a maximum of 10 submenu items per main menu item (minimum 1).
url_n_m The URL to go to if the user selects this sub menu option. Values 'n' and 'm' relate to the values on menu_n_m. For each menu_n_m you MUST have a corresponding url_n_m parameter.
target_n_m The target window to open this URL in. Valid values of _top _self _parent or _blank (see below). Values 'n' and 'm' relate to the values on menu_n_m. For each menu_n_m you MUST have a corresponding target_n_m parameter.
Further explanation of the menu_n parameters (an example) :
Say we want a menu with two main menus, where each main menu options has 3 sub menu options. First we would have our main menu options as follows :
Now, we must list at least one sub menu for each of those main menu options ... we want three each, so that's fine.
Note that the _1_ in all the above parameters refers to the 1 in menu_1 (i.e. the first main menu button). Our second menu options would look the same, but with a _2_ as follows :
Note, each sub menu option has it's own URL to go to, has it's own text value, and it's own target window to open the URL into.
We recommend you group together the menu options as shown in the example above in HTML Example for clarity of reading, however that's not totally necessary for the applet to work.
Note, the number of sub menus can vary from main menu button to main menu button .... button 1 can have three sub menus, but button 2 may have 8, and so on.
Support
Remember, if you are struggling to set up your applet, or are having problems, we are here to help. Our support team can be contacted on support@javaobjects.net.
Please supply as much information about your problem as possible, including the applet name you are having problems with, the HTML code you are using, and if relevant the URL of the site where the applet is being used.
URL Targets
URL Target Window parameters specify which browser window the destination URL will open up in, when the user clicks on a menu option or graphic (depending on the applet in question).
Valid values :
_blank – open in a brand new window, leaving this window still open
_top – open in the current window, whole page
_self – open in the current frame. Only really used when using frames on your page.
_parent - open in the parent window.
The most commonly used options will be _blank (new window) and _top (same window) which should cater for most scenarios.
Color Hexadecimal Values :
Color values used on HTML pages and Java applets are represented as six character hexadecimal values, where “000000” is pure black, “FFFFFF” is pure white, and ever other possible color combination can be found in between.
The six digits in each colour value can be split into three 2 character Red, Green and Blue values. So, a value of “112233” means a Red value of 11, a Green value of 22 and a Blue value of 33.
A note on Hexadecimal representation :
As humans with, generally speaking, 10 fingers and 10 toes, we are used to the decimal number system, that is, a ten digit number system starting at 0 and going up to 9. When we reach 9, we “roll over” back to zero again and, of course, add a 1 to the left hand side to give 10.
Whereas decimal has ten values per digit, hexadecimal has sixteen values per digit. The standard ten from 0 to 9, but then of course we run out of occidental numbers. So, we start using letters …. A for value 10, B for 11, C for 12, D for 13, E for 14 and F for 15. Once we reach ‘15’ (or F) we “roll over” back to zero again, and add that one to the left, giving 10 (which is the equivalent of value 16 in decimal)
Here are a few example of hexadecimal (or “hex”) values and decimal values :
Hex 1 = Decimal 1
Hex 9 = Decimal 9
Hex A = Decimal 10
Hex 10 = Decimal 16
Hex 1F = Decimal 31
Hex FF = Decimal 255
So, how do we turn “slightly light blue” into a series of 6 hexadecimal characters ?
Well, the easiest way to do this, if you have a Windows operating system, is using the Paint package. Open up Paint, then choose the menu options Colors / Edit Colors. Click on the Define Custom Colors button to bring the color wheel up like this :
<>
Choose the desired color you are after using the large color area, and chose the shade using the slider on the right. Here we have chosen that light blue colour we love so much.
On the bottom right hand side you can see that there are three values – Red, Green and Blue. But these values are represented in decimal (not hex) which is no use for web work. We know our RGB values, we just need to convert them to hex !
The easiest way to do this is as follows. Let’s take the Red value, 84. Divide 84 by 16 to get 5.25. At this point all we are bothered about is the integer part of this result, i.e. the 5. That’s our first digit. Take the 5 and times that by 16 to give 80. Take 80 from the original number (84) to give a remainder of 4. That’s our second digit. So, the two characters which represent Red in hexadecimal is “54”.
Carry on and do the same for Green and Blue. Let’s work through Green first. 175 / 16 = 10.9375. Forget the .9375 and concentrate on 10. We already know that in hex the value 10 is represented by the letter A so ‘A’ is our first digit. 10 * 16 = 160. 175 – 160 equals a remainder of 15. 15 we know is F in hex. So, our Green value is ‘AF’
Finally blue. 203 / 16 = 12.6875. Drop the .6875 to give 12, which is ‘C’. 12 * 16 = 192. 203 – 192 = 11 (or ‘B’). So, our Green value is ‘CB’
Put the three values together, and we arrive at a color value for “slightly light blue” of “54AFCB” ….. result !
If this seems a little long winded or complicated, don’t worry. Try this a few times, and pretty soon this will become second nature.
Examples :
Black 000000
White FFFFFF
Light Gray B0B0B0
Dark Gray 808080
Red FF0000
Green 008000
Blue 0000FF
Dark Blue 000080
Bright Green 00FF00
Purple 800080
Light Purple FF00FF
Brown 800000
Cyan 00FFFF
Yellow FFFF00
License Information
Standard Software Disclaimers and Conditions
Fugazi Consulting Ltd hereby grants you a non-exclusive license to use its accompanying software product provided that :
1. The Licensee does not redistribute the software, unless authorised to do so by Fugazi Consulting Ltd.
2. The Licensee does not utilize the software in a manner which is disparaging to Fugazi Consulting Limited.
3. No attempt is made to modify, translate, reverse engineer, decompile, disassemble or create derivative works based on the software.
4. No attempt is made to rent, lease, transfer or otherwise transfer rights to the software, or remove any proprietary notices or labels on the software.
This license does not grant you any automatic right to any enhancement or update.
Title, ownership rights, and intellectual property rights in and to the Software shall remain with Fugazi Consulting Ltd. The Software is protected by the international copyright laws. Title, ownership rights, and intellectual property rights in and to the content accessed through the software is the property of the applicable content owner and may be protected by applicable copyright or other law. This License gives you no rights to such content.
Java applets which are provided by this site on a free basis are offered "as is" without a warranty of any kind.
Pertaining to all software, all expressed or implied conditions, representations and warranties, including any implied warranty of merchantability, fitness for a particular purpose or non-infringement, are hereby excluded. Fugazi Consulting Ltd and it's licensors shall not be liable for any damages suffered by licensee as a result of using, modifying or distributing the software or it's derivatives. In no event will Fugazi Consulting or it's licensors be liable for any lost revenue, profit or data, or for direct, indirect, special, consequential, incidental or punitive damages, however caused and regardless of the theory of liability, arising out of the use of or inability to use software, even if Fugazi Consulting has been advised of the possibility of such damages.
This software is not designed or intended for use in on-line control of aircraft, air traffic, aircraft navigation or aircraft communications; or in the design, construction, operation or maintenance of any nuclear facility. Licensee represents and warrants that it will not use or redistribute the software for such purposes.