MMJ! File Listing
Below is a listing of all the files using in Mandelbrot Madness JAVA! and
the purpose they serve:
|These classes form the backbone of MMJ! Mandel.class is the primary program file and the one you will run to start the program. The MandelObject class represents the actual Mandelbrot or Julia set parameters and does the actual grunt work of calculating and drawing the Mandelbrot and Julia images. The MandelView classes represent the individual image windows, while MandelViewCanvas is a Canvas object that draws the represented MandelObject. WindowManager helps the program keep track of all open windows. MFrame forms the base class of many of the other classes. All files with a dollar sign ("$") in their names are anonymous classes, which are used (in this case) during the file opening/saving processes.|
|These classes implement the command line functionality of MMJ! QMandel handles the batch mode, while MMJ2to1 is the conversion utility. Note that QMandel cannot be run by itself, while MMJ2to1 can (although this is discouraged). See the command line documentation for more information.|
|These classes help to abstract the reading and writing of .MMJ and .PAL files. Putting this code into these classes helped reduce repeated code in several places, making my life easier.|
|These classes help to abstract the conversions between the .MMJ and .MOB file formats.|
|These classes manage color palettes in MMJ! Palette.class is an abstract class from which the others are derived. UserPalette.class is used to create custom color scale palettes or when loading a palette from a file.|
|These classes represent the various dialog boxes you see throughout MMJ! Of all of these, PaletteSelectDialog is unique, since it does not derive from the Java Dialog class, but from MFrame above. (Long story.)|
|mandel.ico||A Windows icon file, just because.|
|Files needed to run MMJ! from within a Web browser. MmjBtn.class is a small applet that presents a button, that when clicked will launch MMJ! The HTML file simply contains the applet. Also included is WebMmjBtn.class, which can be used to place MMJ! on your personal web page. Please see the FAQ for information about using this file.|
|These classes are part of the PaletteBuilder helper application that comes with MMJ! While PaletteBuilder uses some of classes listed above, these are the ones used exclusively by this application. (If you don't want to use PaletteBuilder, these files can be safely deleted.)|
|These classes are part of the GIFEncoder package created by Adam Doppelt. They allow MMJ! to write images in the GIF format.|
|User documentation (which you're reading right now!). While you can do without these, I wouldn't suggest it unless you know this program really well...|
Supported File Types
Mandelbrot Madness JAVA! supports three different file types for saving and
retrieving data. The file types and how they are used are described below.
MMJ! uses GIFEncoder written by Adam Doppelt. GIFEncoder saves GIF files in the older GIF87 format, which should be viewable by almost any GIF viewer/editor.
Please read the GIF disclaimer concerning the Unisys GIF patent.
It should be noted that the MMJ file format has changed between 2.x and 3.x. This was necessary to support zooming in Julia set images. These two file versions are not compatible. Version 3.x of MMJ! can read both versions of the file, but cannot write the 2.x version. Similarly, MMJ! 2.x cannot read a 3.x parameter file. A conversion utility is included as part of MMJ! You can learn more about this utility in the command line utilities section.
Unfortunately, even the best of programs have "bugs." (It's just that the best of 'em
don't have as many!) Here are a few of the known bugs in MMJ! that I am working
on fixing. Please do not report these; I already know about them. If you find what you
think is a bug, follow these actions:
I can't guarantee that I can fix all problems, especially since I don't have access to all the platforms and VMs that you can run MMJ! on. However, I will certainly try. Now, as promised, here's that bug list:
For general knowledge, if you have problems with the context (pop-up) menu, this is a bug in Java, not in MMJ! Refer to the FAQ for more information on this.
The MMJ! Wish List
The "Wish List" is a list of additional features I'd like to implement in the near
future for MMJ! Some are things that I would love to have (once I figure out how
to do them); others are things I would have put in here, but I didn't have time or
would have had to redesign the program from the ground up to include. Anyway, here's
some things to look for in MMJ! v3.1 (or 4.0, or 2000...):
[Return to README]
© Copyright 1999, Jeffrey T. Darlington. All rights reserved.