|
|
Introduction
Why use a framework?
Download
Vision
API stability
Code optimization
Bibliography
Features
Object messaging
Extensibility
Drag-and-Drop
Networking
3D Graphics
Powerful tables
Styled text editor
Memory leak debugger
Tutorial
Class tree
Open protocols
Known bugs
Next release
Future plans
Projects
FAQ
Other software
Log in
|
|
|
|
Features
- Built on top of powerful JCore library.
- Flexible messaging system so objects can receive notification of changes in other objects. This can be used to implement Model-View-Controller designs.
- Graphical layout editor that generates code.
- Drag-and-Drop. (XDND version 4)
- User-configurable button bar that cooperates with any particular menu bar.
- Support for the basic application level objects:
- Director (data in window doesn't need to be saved)
- Abstract document (data in window needs to be saved)
- File document (functionality for saving data in a file)
- Dialog (both modal and modeless; data is automatically validated when entered)
- Support for interacting documents.
(e.g. One document can require that another document be opened and remain open.)
- User preferences management via JPrefsManager and the mix-in class JPrefObject.
- True support for multiple document applications. When the program is already running, any new invocation of the program contacts the existing process instead of starting a new one.
(This is what we mean by a Multiple Document Interface, not Microsoft's ridiculous definition that requires reimplementing the window manager to provide windows within windows.)
- Support for all the standard widgets:
- Buttons
- Checkboxes
- Radio buttons
- Hierarchical menus
- Scrolls if not all the menu items can fit on the screen at once.
- Submenu remains open as long as the mouse is moving towards it, even if the path crosses other items on the parent menu.
- Unlimited submenu depth (but be nice and don't drive your users nuts by abusing this!)
- Input fields with an automated system for validating what is entered
- text
- integer
- floating point
- file
- directory
- regex
- password
-
path/file (with tab completion)
- Useful scrollbars
- Partitions that users can drag to adjust space allocation in a window
-
Windows-style tabs that allow the user to switch between different panels within a single window
- Easy to create customized widgets.
-
Powerful, flexible docking system gives users the option to arrange program windows any way they want within multiple dock windows, with almost no effort required by the developer!
- Dynamic window layout. The application can show, hide, create, destroy, and resize widgets even while the window is visible.
- Automated geometry management of all widgets, so each widget can adjust its size and/or position based on the size of its enclosure.
- On-line, searchable, hypertext help system.
- Hints. (the yellow boxes that explain what you are pointing at)
- Add-on library provides 3D graphics support via the Mesa implementation of OpenGL.
- Text editor class that supports fully styled text (i.e. each character can have a separate style).
- Powerful 2D table class suite. Includes support for in-place editing of cell contents. Great for anything from spreadsheets to board games.
- Support for several layouts in the same window, with each layout selectable via a "card file index." This index can be any widget that presents a set of choices, such as a menu, a table, or the row of tabs used in Windows95®.
- Add-on library provides suite of classes for plotting data and functions.
- Add-on library provides suite of classes for storing and displaying trees using the Macintosh® System 7 paradigm.
- Built in, extensible file browser object.
- Uniform interface for drawing to the screen, images for offscreen storage, and PostScript and Encapsulated PostScript (EPS) files (for printing).
- Uniform interface to XImages (client side storage) and Pixmaps (server side storage)
- Read and write
JPEG, PNG, XPM, and XBM files.
- Support for color approximation and preemptive color approximation.
- Integrated support for the X selection mechanism (clipboard).
- Choice of Macintosh Copy or X Selection model.
- Persistent so copied data is never lost.
- History of previous data to insure that remote applications can get the data they requested, no matter how slow the network connection is.
- Transparent support of the incremental selection transfer protocol, so the user can copy and paste arbitrarily large amounts of data.
- A single application can connect to an unlimited number of X servers.
- Networking and process support is integrated into the event loop.
- JMessageProtocol supports any ASCII message based protocol, so you'll never have to write any code below decoding complete messages.
- Support for real-time applications via a safe mechanism for overriding the event loop.
- Cooperative multi-tasking eliminates the need for threads. This provides support for periodic tasks such as animation and safety saving the user's data.
- Object to display progress of lengthy operation.
- Animated cursors and images.
- JStringManager allows storing strings in separate data files, so they can easily be translated and changed without recompiling.
- Full support for European languages
- Support for user-customizable menu shortcuts by editing the menu items stored in the string database
-
Built-in support for toggling between Macintosh and Windows style menu shortcuts
- Designed to work with multiple virtual desktops and both Click-to-Focus and Point-to-Focus.
- Support for scrolling via wheel mice.
- Automatically works with session managers (e.g. Gnome and KDE) once you override JXApplication::CleanUpBeforeSuddenDeath().
- 64-bit clean.
- Y2K compliant
|
|