Part 3 - JdlView Java Class Documentation

  John W. Campbell

3.1 Introduction

This section of the Java Development Library contains the Java based JdlView classes for use in developing a Graphical User Interface. It has been based on an earlier X-windows based toolkit XDL_VIEW which was written in 'C' and retains the general features of that toolkit particularly from a program user's point of view.

List of sections:

JdlView Management
Base Frames
JdlViewObject Classes for General Use
JdlViewObject Classes for PX
JdlViewObject Class for Address Book
JdlViewObject Support
Dialogue Objects
Foundation Frames/Panels
Support Objects

3.2 JdlView Management

3.2.1 Introduction

This section contains the classes used to manage the JdlView objects in the environment for which they particularly designed (SeeJdlView Programmer's Guide for details). In this environment, the high level managed objects must implement the JdlViewObject interface and any which accept user input and return data to the calling program will make use of the JdlActiveStrip class. The JdlViewManager object enables a layout of the items to be calculated for JdlView objects which have been registered with it; the same layout calculations may also be carried out for objects independently of whether or not they are managed using similar methods in the JdlViewLayout class. A timer class, working through the windowing event queue, is also available.

List of subsections in this section:

Manager Class
Manager Item
JdlViewObject Interface
JdlViewObjectFrame Interface
Active Strip
Layout Calculations
Timer
JdlViewOptions Object

3.2.2 Manager Class

The JdlViewManager class provides the means of managing a set of JdlView objects for a program. The manager also provides methods for the central handling of event driven input from the JdlView objects. There are special options for handling keyboard input and for handling a timer. A set of methods for calculating and setting a layout of JdlView objects is included.

Document Link: View Manager - JdlViewManager

3.2.3 Manager Item

The JdlViewManagerItem class is used internally by the JdlViewManager object to hold details of the JdlView objects it is currently managing.

Document Link: View Manager Item - JdlViewManagerItem

3.2.4 JdlViewObject Interface

The JdlViewObject interface class must be implemented by JdlView objects which are to be managed by the JdlViewManager class.

Document Link: JdlView Object Interface - JdlViewObject

3.2.5 JdlViewObjectFrame Interface

The JdlViewObjectFrame interface class is an extended version of the JdlViewObject object class and must be implemented by JdlView objects which are to be used as base frames.

Document Link: JdlView Object Frame Interface - JdlViewObjectFrame

3.2.6 Active Strip

The JdlActiveStrip class provides an active strip for JdlView objects implementing the JdlViewObject interface.

Document Link: Active Strip - JdlActiveStrip

3.2.7 Layout Calculations

The JdlViewLayout class provides a means of calculating a layout and setting sizes and positions for a set of JdlView objects where several objects are to be fitted together to give a tidy looking layout. Note that if the JdlView objects are being managed by the JdlViewManager, then the equivalent methods within that class are more convenient to use.

Document Link: View Layout - JdlViewLayout

3.2.8 Timer

The JdlViewTimer class provides an event based timer object. It may be added to the list of JdlView objects under the control of the JdlViewManager object and may be included, when required, in the list of 'active' objects from which input is awaited.

Document Link: View Timer - JdlViewTimer

3.2.9 JdlViewOptions Object

The JdlViewOptions class may be used to enable some non-default treatments of JdlView objects for special cases.

Document Link: JdlView Options - JdlViewOptions

3.3 Base Frames

3.3.1 Introduction

These are the base frames on which JdlView objects are to be laid out when they are managed by the JdlViewManager object. They must implement the JdlViewObjectFrame interface.

List of subsections in this section:

Application Base Frame
Applet Base Frame

3.3.2 Application Base Frame

The JdlBaseFrame class provides a base frame (top level window) for JdlViewObject objects.

Document Link: Base Frame - JdlBaseFrame

3.3.3 Applet Base Frame

The JdlAppletBaseFrame class enables the use of an applet window as a base frame view (top level window) for JdlViewObject objects.

Document Link: Applet Base Frame - JdlAppletBaseFrame

3.4 JdlViewObject Classes for General Use

3.4.1 Introduction

This section contains the set of high level JdlView classes which have general functions not tied to any particular application. These include menu areas, I/O windows, parameter tables and graphics windows etc. They all implement the JdlViewObject interface and can thus be managed by the JdlViewmanager object.

List of subsections in this section:

Menu Area
I/O Window
Parameter Table
Split List
Text Table
Cell Window
Graphics Window
Progress Bar
Dummy Object
Blank Object

3.4.2 Menu Area

The JdlMenuArea class provides a button based menu area object with a main menu section and an optional 'quit' button separated from the main menu.

Document Link: Menu Area - JdlMenuArea

3.4.3 I/O Window

The JdlIOWindow class provides a window for the input and output of text strings. A command recall facility is implemented and cutting/pasting can be done.

Document Link: I/O Window - JdlIOWindow

3.4.4 Parameter Table

The JdlParameterTable class provides a parameter table object with rows and columns of parameter names & editable parameter values. As well as text input of a value a drop down menu or step buttons to move up and down a list of values may be defined for a parameter.

Document Link: Parameter Table - JdlParameterTable

3.4.5 Split List

The JdlSplitList class provides a list which may be split into vertical columns with movable boundaries. The list has a title line and is vertically scrollable.

Document Link: Split List - JdlSplitList

3.4.6 Text Table

The JdlTextTable class provides a text table area for the simple output of text from a program, particularly for tabular data. Character positions may be highlighted and/or selected for special purposes.

Document Link: Text Table - JdlTextTable

3.4.7 Cell Window

The JdlCellWindow class extends the scope of the simple text table object described above. Extra features include scrolling, an optional command line and a fixed position overlay window. If even further features are required, then the JdlGraphics JdlView object may be used.

Document Link: Cell Window - JdlCellWindow

3.4.8 Graphics Window

The JdlGraphicsWindow class further extends the functions of the JdlCellWindow class with drawing methods, simple graph axis drawing and a print option.

Document Link: Graphics Window - JdlGraphicsWindow

3.4.9 Progress Bar

The JdlProgressBar class displys a progress bar to indicate the progress of a process.

Document Link: Progress Bar - JdlProgressBar

3.4.10 Dummy Object

The JdlViewDummy class provides a dummy JdlViewObject object which is used internally by the JdlViewManager object. In certain cases it will be returned to the calling program such that it can be identified by the JdlViewManager's public fields STANDARD_INPUT or TIMEOUT_RETURN.

Document Link: Dummy View Object - JdlViewDummy

3.4.11 Blank Object

The JdlBlankObject class provides a blank (infill) JdlView based window. This is basically just an empty area but it will be framed and coloured consistently with the other JdlView objects in a JdlView object based layout.

Document Link: Blank Object - JdlBlankObject

3.5 JdlViewObject Classes for PX

3.5.1 Introduction

This section contains some classes written specially for Protein Crystallography applications. These are for the display of diffraction images, the display of diffraction image simulations and the display of Unique reflection data coverage. They all implement the JdlViewObject interface and can thus be managed by the JdlViewmanager object.

List of subsections in this section:

Image Display
Diffraction Image Simulations
Unique Coverage

3.5.2 Image Display

The JdlPXImage class is used for the display and manipulation of X-ray diffraction images.

Document Link: PX Image Display - JdlPXImage

3.5.3 Diffraction Image Simulations

The JdlPXSimulations class is used to display colour coded and interactive predicted patterns for the Rotation, Weissenberg and Laue data collection methods.

Document Link: PX Diffraction Simulations - JdlPXSimulations

3.5.4 Unique Coverage

The JdlShowUnique class is used to display the amount of unique data covered by data collection procedures. The display may either show individual reciprocal lattice layers, a 3-D rotatable plot or histogram analyses.

Document Link: Show Unique Coverage - JdlShowUnique

3.6 JdlViewObject Class for Address Book

3.6.1 Introduction

This section contains a JdlView class used for an altogether different type of application namely for use within an address book program. It implements the JdlViewObject interface and can thus be managed by the JdlViewmanager object.

List of subsections in this section:

Address Window

3.6.2 Address Window

The JdlAddressWindow class provides a window for the input/editing/display of an address book entry.

Document Link: Address Window - JdlAddressWindow.java

3.7 JdlViewObject Support

3.7.1 Introduction

This section contains some classes which are associated with specific JdlView objects described above. The JdlView object to which they apply is indicated in the sub-section title.

List of subsections in this section:

JdlMenuArea: - Menu Style
JdlProgressBar: Progress Handler
JdlTextTable: Highlight Handler
JdlSplitList: Split Title
JdlCellWindow: Highlight handler
JdlGraphicsWindow: Drawer
JdlGraphicsWindow: Highlight Handler
JdlPXImage: Image Position
JdlPXImage: User Options
JdlAddressWindow: Address Entry
JdlAddressWindow: Address Entry Details

3.7.2 JdlMenuArea: - Menu Style

The JdlMenuAreaStyle class provides a means of setting some non-default button style related parameters for a JdlMenuArea object.

Document Link: Menu Area Style - JdlMenuAreaStyle

3.7.3 JdlProgressBar: Progress Handler

The JdlProgressHandler interface enables objects implementing it to monitor the progress of a time consuming process. The JdlProgressBar class implements this interface.

Document Link: Progress Handler Interface - JdlProgressHandler

3.7.4 JdlTextTable: Highlight Handler

The JdlTextTableHighlightHandler interface enables objects implementing it to react when a cell from a text table is highlighted or un-highlighted.

Document Link: Text Table Highlight Handler Interface - JdlTextTableHighlightHandler

3.7.5 JdlSplitList: Split Title

The JdlSplitTitle class provides a horizontal title which may be split into adjustable ranges (right overlapping left) as used in the JdlSplitList JdlView object.

Document Link: Split Title - JdlSplitTitle

3.7.6 JdlCellWindow: Highlight handler

The JdlCellWindowHighlightHandler interface enables objects implementing it to react when a cell from a cell window is highlighted or un-highlighted.

Document Link: Cell Window Highlight Handler Interface - JdlCellWindowHighlightHandler

3.7.7 JdlGraphicsWindow: Drawer

The JdlGraphicsWindowDrawer interface enables objects implementing it to draw on the main scrollable window of a JdlGraphicsWindow object.

Document Link: Graphics Window Drawer Interface - JdlGraphicsWindowDrawer

3.7.8 JdlGraphicsWindow: Highlight Handler

JdlGraphicsWindowHighlightHandler enables objects implementing it to react when a cell from a graphics window is highlighted or un-highlighted.

Document Link: Graphics Window Highlight Handler Interface - JdlGraphicsWindowHighlightHandler

3.7.9 JdlPXImage: Image Position

The JdlImagePosition class provides an object which contains the positional data from a JdlPXImage object when a position or rectangle is selected by the user.

Document Link: Image Position - JdlImagePosition

3.7.10 JdlPXImage: User Options

The JdlPXImageUserOptions interface enables objects implementing it to add user options to a JdlPxImage object within the context of a supplied dialogue.

Document Link: JdlPXImage User Options Interface - JdlPXImageUserOptions

3.7.11 JdlAddressWindow: Address Entry

The JdlAddressEntry class stores details of an address for use in conjunction with a JdlAddressWindow JdlView object.

Document Link: Address Entry - JdlAddressEntry

3.7.12 JdlAddressWindow: Address Entry Details

The JdlAddressEntryDetails class stores address details for use within a JdlAddressEntry object.

Document Link: Address Entry Details - JdlAddressEntryDetails

3.8 Dialogue Objects

3.8.1 Introduction

This section contains a pop-up message dialogue and associated classes. Note that a JdlMessageDialog object, being a pop-up, does not need to be managed by the JdlViewManager object and hence does not implement the JdlViewObject interface.

List of subsections in this section:

Pop-up Message Dialogue
Handle Dialogue Returns

3.8.2 Pop-up Message Dialogue

The JdlMessageDialog class provides a number of standard dialogue boxes with one or two return buttons. These are Message dialogues, Warning dialogues, Information dialogues, Error dialogues and Query dialogues.

Document Link: Message Dialogue - JdlMessageDialog

3.8.3 Handle Dialogue Returns

The JdlDialogReturns interface class supplies a method to be invoked on returning from a JdlMessageDialog object.

Document Link: Dialogue Returns Interface - JdlDialogReturns

3.9 Foundation Frames/Panels

3.9.1 Introduction

This section contains panels and framed panels used as basic classes to be extended when coding JdlView objects. It extends the Java JPanel class.

List of subsections in this section:

Draw Panel
Draw Panel Drawer
Framed Panel
Framed Panel Drawer
Applet Frame

3.9.2 Draw Panel

The JdlDrawPanel class provides a simple panel for drawing on, using an object supporting the JdlDrawPanelDrawer interface.

Document Link: Draw Panel - JdlDrawPanel

3.9.3 Draw Panel Drawer

The JdlDrawPanelDrawer interface implements a method to draw on a JdlDrawPanel object.

Document Link: Draw Panel Drawer Interface - JdlDrawPanelDrawer

3.9.4 Framed Panel

The JdlFramedPanel class provides a framed panel for drawing on or for sub-classing to make buttons etc. It may be drawn on by an object supporting the JdlFramedPanelDrawer interface. It extends the Java JPanel class.

Document Link: Framed Panel - JdlFramedPanel

3.9.5 Framed Panel Drawer

The JdlFramedPanelDrawer interface implements a method to draw on a JdlFramedPanel object.

Document Link: Framed Panel Drawer Interface - JdlFramedPanelDrawer

3.9.6 Applet Frame

The JdlAppletFrame class provides an applet based framed panel. It extends the JApplet class, drawing a frame on it. It is used by the JdlAppletBaseFrame class.

Document Link: Applet Frame - JdlAppletFrame

3.10 Support Objects

3.10.1 Introduction

This section contains a series of classes for generating the objects which are required when building more complex, higher level objects like the JdlView objects described above. The objects in question include labels, buttons of various types, a value input item, scrollbars, sliders, separators and a command line. They are coded in a manner consistent with the general requirements for look and feel of the JdlView package and sometimes duplicate functionality available in an alternative form in some standard Java classes.

List of subsections in this section:

Label
Label Drawer
Button
Button Drawer
Arrow Button
Diamond Button
Up/Down Button Pair
Scrollbar
Separator
Slider
Value Input Object
Value Item Up/Down Handler
Command Line
Required Sizes

3.10.2 Label

The JdlLabel class provides a label with an optional border. It may contain a text string or its contents may be drawn by an object supporting the JdlLabelDrawer interface.

Document Link: Label - JdlLabel

3.10.3 Label Drawer

The JdlLabelDrawer interface implements a method to draw on a JdlLabel object.

Document Link: Label Drawer Interface - JdlLabelDrawer

3.10.4 Button

The JdlButton class provides a press button with a three dimensional look. The button may contain a user supplied string and/or have its drawing area filled by a user supplied JdlButtonDrawer object.

Document Link: Button - JdlButton

3.10.5 Button Drawer

The JdlButtonDrawer interface implements a method to draw on a JdlButton object.

Document Link: Button Drawer Interface - JdlButtonDrawer

3.10.6 Arrow Button

The JdlArrowButton class provides a press button drawn as a downward pointing arrow.

Document Link: Arrow Button - JdlArrowButton

3.10.7 Diamond Button

The JdlDiamondButton class provides a press button drawn as a diamond shape.

Document Link: Diamond Button - JdlDiamondButton

3.10.8 Up/Down Button Pair

The JdlUpDownButton class provides a pair of press buttons drawn as an upward pointing arrow and a downward pointing arrow.

Document Link: Up/Down Button - JdlUpDownButton

3.10.9 Scrollbar

The JdlScrollbar class provides a slimline scroll bar object designed to match the general style of JdlView objects.

Document Link: Scroll Bar - JdlScrollbar

3.10.10 Separator

The JdlSeparator class provides a horizontal or vertical separator for separating components on a display.

Document Link: Separator - JdlSeparator

3.10.11 Slider

The JdlSlider class provides a horizontal slider object.

Document Link: Slider - JdlSlider

3.10.12 Value Input Object

The JdlValue class provides a parameter value object which is used to display a parameter value which may be changed by the user when required. It has options to change values via a drop down menu, or an up/down button or to toggle between a pair of on/off or yes/no buttons.

Document Link: Parameter Value Input - JdlValue

3.10.13 Value Item Up/Down Handler

The JdlValueUpDownHandler interface implements a method to handle up/down requests for a JdlValue object.

Document Link: Value Up/Down Handler Interface - JdlValueUpDownHandler

3.10.14 Command Line

The JdlCommandLine class provides a command line input (single line).

Document Link: Command Line - JdlCommandLine

3.10.15 Required Sizes

The JdlRequiredSizes class provides an object to store a JdlView object's required sizes data. It is used in the coding of many of the JdlView classes.

Document Link: Required Sizes - JdlRequiredSizes


⇑ Up 2   ⇑ Up 1   ⇑ Top of this