Up: JavaCarrots 1.0 - User
Previous: Program Core Features
- The program will detect errors in page names such as names which conflict or names which
contain whitespace or semicolons. All names created by the program are guaranteed to be unique.
If the user attempts to change a page, shape, or resource name to that of another page, shape, or
resource, the program automatically reverts the object's name back to its original form. Any
offending whitespace or semi-colons within a name are removed.
- Many shortcuts have been added to enhance program functionality. For example, pressing delete
on a selected object will remove it from the screen. For a complete list of supported keyboard
shortcuts, please see the section in the documentation entitled ``Keyboard Shortcuts''.
- The images in a document may not contain the same filename. In the case that an image with the
same name already exists in the document, the program will not load the new image. To load an image
with the same file name, the old image with that same name must be removed first.
- The resource manager pays particular attention to the resource files loaded and will not load a
resource from a file twice; rather, the same resource object may be shared among several different
objects. In the case that the user loads a resource file and then changes the name of the resource,
the program will keep track of the original file handle and hence will not allow reloading of the
same resource despite the name change.
- To make the process of script creation easier, the Script Editor window is capable of doing syntax
highlighting (which can be enabled or disabled in the View menu). Syntax coloring, as common
among many programming IDE's, helps the user see when a particular reference in the script is
unrecognized by the script parser. Furthermore, the Script Editor also has a suggestions area in
which real-time help is shown by the program as a means of helping the user remember what to come
next in the script.
- Resource loading is done in a worker thread to ensure that the GUI remains active even while loading
an extremely large image or sound file. Shapes containing the image may be added to the document
before the image is completely finished loading. When the image has finished loading, the program
will automatically update all views on its own.
- Menu items such Next Page, Previous Page, or Save are disabled whenever their associated functions
cannot be applied to the current document as means of preventing user error.
- If a shape currently displays an image, then the ``Text Color'' button is changed to ``Set Bounds'' to
allow the user to set an image's bounding box to its natural dimensions. Note that in the case an
object has both an image and text, the text is displayed and the ``Text Color'' button will
- The program fully supports undo/redo operations for all basic changes to shapes such as moving,
renaming, changing scripts, etc, and basic changes to a page such changing background images or
background color. The user may also choose to undo the addition or removal of a shape
or a page. Renaming of objects in the document will not be undone. Any arbitrary number of
operations may be undone. The redo operation is available only if the last operation performed was
an undo. The undo mechanism was implemented using the built-in Swing functionality and represents
changes in the document using a minimal amount of memory (which is important considering that the
program supports infinite-depth undo).
- Clipboard operations such as cut, copy, and paste are fully supported by the program. In general,
any text from a textfield in the program may be copied and pasted to any other textfield while
any shape may be copied and pasted an arbitrary number of times into any page. Copies of objects
are automatically given globally unique names. Note that depending upon the context of the currently
selected text, shape or page, the cut, copy, and paste menu items and buttons may be enabled or
- The Catalog shows miniature previews of all the images inside the catalog structure.
- The drop-down box for selecting images to be associated with shapes in the Shape properties window
displays previews of images available.
- The dialog for loading resources also shows previews of all images and has the ability to play
- The Shape properties window allows the user to control the font of text in objects. A drop-down menu
gives all the choices of fonts available on the current system. The program also handles the case
of fonts that do not exist on the system at run-time; it simply loads an alternate font in its place.
- Shapes automatically shrink neatly into the possessions area. They are restored to their normal size
when returned to the play area, however.
- The program allows deletion of resources from the current document. Deleting a resource removes
it from the data model as well as marks it for later deletion from the document directory. The
file associated with a resource will not be deleted if it is the original resource file. The actual
file in the document directory will not be deleted until the document is saved since the user might
not intend to delete a resource from the document.
- The ``Export to HTML'' feature in the File menu allows the user to export the current document to an
HTML viewable page.
- All resource loading is threaded for efficiency. This helps keep the GUI active even while the program
is loading a large image in the background.
- Script execution is also threaded so that more than one animation may execute at a time.
- The editing mode supports snap to grid to help with alignment of objects.
- The shape properties table on the page properties window allows the user to see what objects are located
on the page and where they are positioned.
- The program has MIDI support; MIDI files are simply loaded like .au files.
- The scripting language has been extended to support a variety of new commands, including ``loop'',
``stop'', ``move'', ``delay'', and ``setimage''. C-style comments with /*...*/ are also supported.
- Random visual transitions accompany the switching of pages in the play mode.
- Resource files can be dragged and dropped onto the catalog for loading, instead of through the Load
- Added a splash window to the program on start up that is accessible from the help menu.
Up: JavaCarrots 1.0 - User
Previous: Program Core Features
JavaCarrots 1.0 by Chuong Do and Xinan Wu