I have written two Java applets that draw mazes, MazeApplet and MazeIcon. The first draws larger mazes with a number of shapes while the later is optimized to make smaller ones for use as an icon or decorative border on a web page.

I invite you to use them and tell me what you think via the mail link on the left side of the page. If you don't know how to put an applet on your page, check out this great tutorial.

MazeIcon

The MazeIcon applet draws a maze in a small area, suitable for use on a webpage as an icon or horizontal or vertical border.  Several parameters allow the user to choose the shape of the tiles in the maze, display the solution, change the various colors of the maze, link it to a URL, or have it periodically draw a new maze. 

Here are some of the components to MazeIcon you can download and use as you wish:

I am in the process of putting a package together for MazeApplet for downloading. Once I have the finishing touches, I will post it here and at JavaBoutique.

The table below shows various ways MazeIcon can be used.
 

This is the MazeIcon set up with the default color settings, used as a link icon.  The solution is not shown, but can be toggled on with a right-click.  The maze only redraws on a refresh of the whole screen. Here is the HTML to make it work: 

<applet archive="MazeIcon.jar"
  code=MazeIcon.class 
  width=50 height=50>
<param name=href value=
  "http://KevinHaw.com/MazeApplet.php">
<param name=alt value= "Click for
  Kevin's Maze Page">
</applet> 

Here is a  flashier version, turning on the solution and using a refresh to draw the eye. Here's the HTML: 
<applet archive="./compiled_java/MazeIcon.jar"
  code=MazeIcon.class
  width=50 height=50>
<param name=bgColor value="33CCFF">
<param name=fgColor value="000000">
<param name=solution value="on">
<param name=solColor value="FFFF00">
<param name=refresh value="2">
<param name=href value= 
  "http://KevinHaw.com/
    /MazeApplet.php">
<param name=alt value="Click for
  Kevin's Maze Page">
</applet>
Here is an icon with the solution locked on, using the diamond tile shape. 

<applet archive="./compiled_java/MazeIcon.jar"
  code=MazeIcon.class 
  width=50 height=50>
<param name=bgColor value="FFCCCC">
<param name=fgColor value="000000">
<param name=tileShape 
  value="diamond">
<param name=solution 
  value="on">
<param name=href value=
  "http://KevinHaw.com/
    /MazeApplet.php">
<param name=alt value= "Click for
  Kevin's Maze Page">
</applet>

Here is an example of hex shaped tiles. The HTML is 

<applet archive="./compiled_java/MazeIcon.jar"
  code=MazeIcon.class 
  width=70 height=50>
<param name=bgColor value="009900">
<param name=fgColor value="FFFF00">
<param name=tileShape value="hex">
<param name=href value= 
  "http://http://KevinHaw.com/ 
    /MazeApplet.php">
<param name=alt value="Click for 
  Kevin's Maze Page">
</applet> 

Here's MazeIcon used as a simple horizontal border with square tiles. Solution has been turned on so it can be toggled off with a right-click.
Use this HTML: 

<applet archive="./compiled_java/MazeIcon.jar" code=MazeIcon.class width=500 height=30>
  <param name=fgColor value="000000">
  <param name=solution value="toggleOn">
  <param name=alt value="A Border">
</applet>

Here's hex shaped tiles with an eye grabbing refresh.

<applet archive="./compiled_java/MazeIcon.jar" code=MazeIcon.class width=500 height=50>
  <param name=tileShape value="hex">
  <param name=bgColor value="FF6600">
  <param name=fgColor value="000000">
  <param name=solColor value="FFFFFF">
  <param name=solution value="on">
  <param name=alt value="Another Border...">
  <param name=refresh value="3">
</applet>

MazeApplet


MazeApplet is a java applet that builds mazes based on various shaped tiles. The user can select the tile from the pulldown menu.

Here are the basic instructions:

If you're interested in the JAVA source, it uses two classes: MazeTile, the general class to set up mazes, and MazeApplet, which actually draws the maze as requested on the web page. Please EMAIL me any comments or check out my homepage.

MazeApplet

Improvements

Naturally, this is a work in progress.  Here are some refinements I'm planning for MazeApplet and/or MazeIcon: