Skip to end of metadata
Go to start of metadata

Short Introduction

As someone involved in software usability issues since my very first steps as a software developer (which is dated back to the early 80's of the 20th century), I became more and more curious about the new Java GUI technology. When it was just a JavaScript effort, I didn't really care. But later it matured, and today the JavaFX is pure Java technology (well, sort of) and is even part of Oracle's Java7 release. It seems Oracle fully supports this new technology, so it is expected that it'll develop even further. As it is today, I'm playing with the JavaFX 2.2.1 release. Due to the fact that I'm a seasoned Java GUI developer (I've started to use the Java Foundation Classes - later became known as Swing - when it was an optionally downloadable package), read a lot of books, made my own mistakes and learnt from them a lot, therefore I have decided of putting together a JavaFX application. However, wiring together some existing controls and putting some behaviour behind them, that's not a challenge. Sure it will happen when I'll start to take care about the layouts, but first I am going to see behind the curtain as much as possible.

The Goal

Therefore, and taking advantage of the fact that my employer needs an evaluation about a specific GUI custom component, I have decided to develop that custom component. This custom component is more or less a visual table. Such component might be useful for example in logistic and in scheduling needs. The horizontal axe is therefore the time, the vertical axe is the resources, and the table itself contains the activities. An activity always belongs to one resource, and it starts at a specific point of time, and ends at a later point of time. The activities are represented as rectangles, the resources as several rectangles in a row, and the timeline displays "areas" and "columns". Areas might be months, weeks, or days, and the areas contain the columns; the columns might be days, or hours.

Note: due to the fact that this custom component is (will be) a property of my employer, therefore I won't post many source codes. I will give enough to illustrate my point on stake, but I am sure noone will be able to put together the working custom component from these fragments. I also won't talk much about the JavaFX features covered by the several available tutorials; one has to go and read those, were he interested in such basic information. I will however give an attempt to describe the rough way that will or will not lead to the final goal in details. Hence the title, it's an adventure, I've entered into unknown territory and I have to discover it - just like the pioneers of the former centuries, I will make mistakes, hopefully will be able to recognize them and avoid them in the future. So if you notice or even suspect a trap I've just walked into, please don't hezitate to add your comment. I will investigate the case in details, and will post my findings.

I invite you to join my adventures - start watching this space, then you'll be notified about every change automatically. Currently I am going to post once a week, on the weekends.

Next pages:

part 2 - Application frame

part 3 - Design Considerations (+GridPane)

Page viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))