Welcome to Bill's Java Utilities!
This is a collection of java classes I have been using for quite some time
in my personal Java development. In the hopes that others may find some
of them useful as well, I have finally gotten around to putting them out
on SourceForge.
See the sample application (the ConfigurationGUI class in the bill.util.config.gui
package) for a decent example of how to use many of the utility classes.
Also, the Java
Word Games project makes use of some of these utilities.
You can see the javadoc as well
There are classes for the following:
-
A class that loosely imitates the functionality of the C getopt API.
-
A class which extends the standard Java Vector class adding the ability
to add data to a Vector in a sorted manner.
-
A class for string and manipulating 2D coordinates. (Added in release 0.6)
-
A set of classes for reading and manipulating Windows "ini" type files.
-
A set of classes for performing basic RDBMS persistence (only tested with
InstantDB so far).
-
A set of classes for reading and manipulating csv files. (Added in release
0.7)
-
A set of classes for manipulating XML. (Added in release 0.8)
-
A set of Swing GUI classes
-
A JList extension to allow the user to select multiple list items by specifying
a Vector of items to select. Also provides a method to retrieve a Vector
of selected items.
-
A JTextField extension (JTextFieldMaxChars) that limits the number of characters
that may be entered into the text field. It also provides the ability to
automatically advance the keyboard focus to the next Component when the
text field has reached it's maximum capacity. (Added in release 0.6)
-
A JTextFieldMaxChars extension (JTextFieldFilter) that filters out invalid
characters from the user's input. It works for typed (single character)
input and clipboard (possibly multi character) input. (Added in release
0.6)
-
A JTextFieldMaxChars extension (JTextFieldEnter) that "unmaps" the enter
key. This is useful for frame that have a default button on them. When
the JTextFieldEnter widget has focus and the user hits the enter button
the default button is pressed. If a regular JTextField were used then an
ActionEvent would fire instead and the button would not get pressed.
-
A JTextFieldEnter extension (JTextFieldEnterFilter) that filters out invalid
characters from the user's input. It works for typed (single character)
input and clipboard (possibly multi character) input.
-
An extension of the standard Java FileFilter class that allows the user
to specify file extensions to be added to the "Save as Type" combo box
in a file selection dialog.
-
A JFrame extension for requesting the user to enter two string of data,
typically a key string and a value string.
-
A JFrame extension for displaying a Vector of Strings as list items. I
normally use this one for displaying a list of errors to the user.
-
An interface to be implemented by classes that wish to be able to use the
AddKeyValueFrame class.
-
A JFrame extension for displaying information about the application such
as the application name, version information, and copyright notice.
-
A JFrame extension containing things that are common to a typical Swing
GUI, such as whether the project has been modified, whether tooltips should
be displayed, changing all the project's JFrame's look and feel, etc.
-
Class for reading and writing a project configuration file. This gives
the project some state, so key information is not lost between executions
of the project. The file stores the following:
Look and Feel The look and feel the user last selected.
Last Directory The last directory the user read or wrote a save
file to. This is used to set the file selection dialog to this directory
when it is created instead of it using a default directory.
Last 4 Files The last four files the user opened or saved. These
will be displayed in the file menu as options for the user to open.