MMJ! File Listing
Below is a listing of all the files using in Mandelbrot Madness JAVA! and
the purpose they serve:
| Mandel.class Mandel$1.class MandelView.class MandelView$1.class MandelView$2.class MandelViewCanvas.class WindowManager.class MFrame.class MandelObject.class |
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. |
| QMandel.class MMJ2to1.class MMJ2to1$1.class |
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. |
| MMJFileHandler.class MMJFileHandler$1.class MMJFileHandler$2.class PALFileHandler.class PALFileHandler$1.class PALFileHandler$2.class |
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. |
| MOBtoMMJ.class MOBtoMMJ$1.class MOBtoMMJ$2.class |
These classes help to abstract the conversions between the .MMJ and .MOB file formats. |
| Palette.class RainbowPalette.class GrayScalePalette.class UserPalette.class |
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. |
| AboutDialog.class ColorSelectDialog.class InfoDialog.class MessageDialog.class PaletteSelectDialog.class PaletteSelectDialog$1.class |
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. |
| MmjBtn.class WebMmjBtn.class mmj.html |
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. |
| PaletteBuilder.class PaletteBuilder$1.class PaletteBuilder$2.class PaletteCanvas.class PaletteSizeDialog.class PalAboutDialog.class ColorRangeDialog.class CopyColorRangeDialog.class pb.ico |
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.) |
| GIFEncoder.class BitFile.class BitUtils.class LZWCompressor.class LZWStringTable.class ImageDescriptor.class ScreenDescriptor.class |
These classes are part of the GIFEncoder package created by Adam Doppelt. They allow MMJ! to write images in the GIF format. |
| readme.html docs/* |
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... |
[Top]
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.
[Top]
Known Bugs
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.
[Top]
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...):
[Top]
© Copyright 1999, Jeffrey T. Darlington. All rights reserved.