CHARVA is a Java framework for presenting a "graphical" user interface,
composed of elements such as windows, dialogs, menus, textfields and buttons,
on a traditional character-cell ASCII terminal. It has an API based on
that of "Swing" (a.k.a. the Java Foundation Classes). Programmers familiar
with AWT and Swing will find programming CHARVA straightforward.
User interfaces can be designed on WYSIWYG IDEs such as Borland JBuilder
and then easily converted to CHARVA merely by changing the "import" statements
to import the "charva.awt and "charvax.swing" packages instead of the
standard "java.awt" and "javax.swing" packages.
CHARVA was designed to bring the power and flexibility of Java to applications
on Linux/Unix systems. ASCII terminal-based applications can now
benefit from Java features such as object orientation, multithreading, automatic
garbage-collection, and a vast range of libraries such as:
CHARVA now also has mouse support on terminal-emulators that report mouse
events, such as "xterm" and
"PuTTY"
- socket and HTTP networking using Java 2 Standard Edition
(J2SE)
- SSL and HTTPS encryption using Java Secure Socket Extension
(JSSE)
- asynchronous messaging using Java Message Service
(JMS)
- database access using Java Database Connectivity
(JDBC)
- mail access using
JavaMail
- XML parsing and generation using Xerces
from Apache.org
- and many more....
(click here for a list)
Here are some benefits of CHARVA:
CHARVA is composed of two components:
- A library of Java classes that implement the various "graphical widgets"
- A dynamically-loaded shared library, written in C.
CHARVA is not a "Pure Java" package; the Java classes use the
Java Native
Interface (JNI) to call screen-handling functions provided by the shared
"libTerminal.so" library, which is linked with the
GNU ncurses
library. Porting CHARVA to a different platform involves recompiling the C
source code for the libTerminal.so shared library. GNU ncurses is supported
on dozens of Unix flavors besides Linux; CHARVA should be able to run on
any platform that supports both Java and ncurses.
CHARVA has been ported to the following operating systems and environments:
- HP-UX
- MS-Windows, using the
PDCurses
(Public Domain Curses) library and the
MinGW compiler.
- AIX, using GNU ncurses 5.2 and the gcc compiler.
- Solaris (although some users have reported difficulty in getting
Charva to run reliably on Solaris).
- Mac OS 10.2.
- FreeBSD
- GCJ (the GNU Java Compiler)
(OS-specific Makefiles are provided in the download tarball).
|