PEAT Online Course -
How To Improve Your Personal Performance in Java work Technology

  • YOU + CONTROL
  • Focus
  • Autonomy
  • Proficiency
  • Purpose
  • Covid-19!!!
  • Deep Hidden Meaning
  • FREE updates
GET 75% OFF NOW
Your Promo code: TECHLAYOFF
Exclusively on
VIMEO ON-DEMAND

XenonDataGrid M3.0, Nelson Framework *WIP*

17 September 2009 Comments off

6 minutes

1158

XenonDataGrid M3.0, Nelson Framework *WIP*

Hi All

For those you who listened to the JavaPosse Podcast, Episode 278: “What do we want from JavaFX?”, thanks for all your kind comments. That episode was taken from the Posse Round Up in Crested Butte, March 2009. A lot of that discussion in the podcast is relevant to the reason why I created Nelson.

I am very happy make the release Milestone 3.0 release of the Nelson Core JavaFX Framework and the Xenon Data Grid Component.
You can find the download nelson-core-1.0-M3.jar on Xenonique.

You might find it easier to digest the release information by following these two Camtasia videos, a basic component feature demonstration  and a trading records example (8 minutes and 12 minutes long respectively). I strongly recommend this, especially if you have never programmed with JavaFX before. I also recommend it if you have some experience.

Nelson Framework 1.0-SNAPSHOT M3 XenonDataGrid Demo from peter_pilgrim on Vimeo.

Nelson Framework 1.0-SNAPSHOT M3 XenonDataGrid Trading Records Demo from peter_pilgrim on Vimeo.

JNLP Examples

XenonDataGrid Application

http://www.xenonsoft.com/jws/XDG-Example-01-1.0-M3.jnlp

Here are some instructions on the first example.

Using the mouse primary button, click to select a body cell, use the cursor keys to move the lead selection left, right, up or down. You will be running rudimentary keyboard navigation. Click on the corner cell, you will see the LightBox dialog component. Hover the cursor using the mouse over the header row or columns cells. You will see that you change the size of the header cell and thereby affect the layout of the body cells. Double click on the a body cell, to edit the data in that cell. Please ENTER in the editor renderer cell to complete the action.
Finally hold down the ALT key and then double click to select all data model cells.

Big Table XenonDataGrid Application

http://www.xenonsoft.com/jws/XDG-Example-02-1.0-M3.jnlp

Big Table XDG Drag Cell To Scroll

http://www.xenonsoft.com/jws/XDG-Example-03-1.0-M3.jnlp

Big Table XDG Display Only Column Headers

http://www.xenonsoft.com/jws/XDG-Example-04-1.0-M3.jnlp

Big Table XDG Display Only Row Records

http://www.xenonsoft.com/jws/XDG-Example-05-1.0-M3.jnlp

Trading Record Example

Unfortunately the trading record example has a dependency on an external resource CSV file, which prevented its inclusion in this edition of this blog.


Subscribe to my AudioBoo with iTunes
on JavaFX, Java EE, Java and running a Java User Group.

About The Release

Salient Notes

The XenonDataGrid data grid UI component is the fundamental and paramount change in this release.

Editing is now supported. The DefaultSelectionStrategy type, which is the basic selection mechanism, has changed since Milestone 2. Now doubl-clicking on a data cell invokes editing of the user table cell,  if it can be edited. To select all cells in the model, hold down the ALT key and then double-click on the cell. The old behaviour triple click is no longer possible, because the editor cell renderer appears on the double click in front of the renderer cell

Component properties to control the operation of data grid component. Application programmers now have properties to control the behaviour of the data grid.

  •     editable
  •     enableRowResize
  •     enableColumnResize
  •     enableReorderRows
  •     enableReorderColumns

A new type XenonEditorRenderer is a text renderer for data grid UI. This renderer is invisible when the data cell is being edited. It is the only renderer available in M3. We expect more editor renderer to appears in the next release, so that users will be change data according to the type, Boolean, Short, Integer, Long, Float, Double, BigDecimal etc..

A new type SafeTableModel enables data cell requests to be out-of-bounds without throwing exceptions. That is if the row and column are out of bound, then this TableModelBase type does not raise IIlegalArgumentExceptions or OutOfBoundsException.

A new type TableCellModelBase for capturing additional layout information for each data cell. This is type was proven in the Trading Records demo. So instead of storing arbitary objects in a TableModel, if the type of the cell in the user table, is type of TableCellModelBase, or mixin derived of, then the LayoutStrategyBase can use that extra information to retrieve preferred layout bounds information. (It can also put the new layout information back in, for example during a resize of a row / column operation).

A new type ExtendedTableCellModelBase for capturing additional font, foreground and background fill and stroke colour information for each data cell. This is type was also proven in the Trading Records demo. This type is a sub type of TableCellModelBase provides more composite attribute information on a data cell.

Row header and column header cells now support resizing and therefore header rows and header columns can be resized, causing the data grid to resized. This is functionality was proven in the Trading Records demo. The renderer XenonGridCellHeaderRenderer particularly now supports this functionality.

There is a brand new cell selection range solution, which works in both user table model and render layer coordinate space. This is type was proven in the Trading Records demo.
The SelectionRange relies on JavaFX Sequences, which are already optimised for memory space efficiency and language specific features such as ranges.
The selection range in both spaces, solve the immediate problem, of managing discontiguous spaces when the rows and columns are reordered.

A new type LightBox component enables a single child to be overlay over an existing component. The background component under the light box appear to be dimmed. This is type was proven in the Trading Records demo.

A new type LightBoxDialog component for convenience of raising an alert.

A new type FlowLayoutStrategy for left to right, top to bottom unrestraint layout in the Western world conventions. This strategy allows the cells to be “clipped” outside the data grid UI dimensions. This is type was proven in the Trading Records demo.

The type ProportionalResizeLayoutStrategy supports resizable proportional layout. The layout strategy always lays out the grid cells to fit the current dimensions of the data grid UI dimensions. Bug in the lay out algorithm was fixed.

Rudimentary keyboard navigation has been implemented in the DefaultLayoutStrategy and AbstractLayoutStrategy classes. The user can now use the cursor key to move the lead selection around the renderer cell space.

Issue Tracking List

See JIRA on Project Kenai for a list of tracked issues
(https://kenai.com/jira/browse/NELSON)

The following task were resolved:

NELSON-9    Add Hudson Build Server
NELSON-8    DataGrid should have optional header row and/or columns
NELSON-6    Selection Model during scrolling needs to perserved or destroyed
NELSON-3    Allow developers to use Proportional Resize Layout Strategy
NELSON-2    Allow user to edit the data inside the DataGrid
NELSON-1    DataGrid component needs to be able to scroll large table models

This is Peter Pilgrim. Out.

Hey all! Thanks for visiting. I provide fringe benefits to interested readers: checkout consultancy, training or mentorship Please make enquiries by email or
call +44 (0)7397 067 658.

Due to the Off-Payroll Working plan for the UK government, I am enforcing stricter measures on contracts. All potential public sector GOV.UK contracts engagements must be approved by QDOS and/or SJD Accounting. Please enquire for further information.