JacpFX 1.1 release announcement

We are proud to announce a new version of JacpFX, the RCP framework on top of JavaFX and Spring.  It provides a simple API to create a workspace, perspective, and components, combined with an Actor like component approach. JacpFX gives you an easy access to JavaFX development and helps you to create stunning Rich Client Applications quickly.

Version 1.1 comes with a lot of enhancements:

Official  FXML support

  • Define FXML perspectives and components
  • Use FXML and (pure) JavaFX perspectives side by side
  • Mix FXML components and JavaFX components in perspectives

Annotation support

  • Define metadata for perspectives and components in annotations
  • Method-level annotations to control the lifecycle

Internationalization and localization

  • Define property files
  • Reference in component annotation
  • Accessable by calling getResourceBundle()

Custom component integration

  • Created custom (and customizable) components for:
    • Modal dialog
    • Menu
    • Toolbar

Enhanced tool chain

  • Complete maven integration
    • Nexus repo created to get an easy access to JacpFX artifacts
    • Maven quickstart-archetype created to create new projects easily
  • The new quickstart-archetype is a good starting point for you own development:
    • Defined project structure with sample css, fxml, images, resource bundles, preloader and native bundling

Updated documentation and quickstart-tutorial

Maven integration:

Create a (quickstart) project from archetype

 

The repository location:

 

The JacpFX dependencies:

 

 

Kategorie(n): Allgemeines Tags: , ,

Create JavaFX executables with maven

Many Java developers prefer maven to build, package and to deploy their Java applikations and would like to use maven with JavaFX. Althoug there are many examples around how to use maven with JavaFX,  there is currently not complete guide available.   Since JavaSE 7u5 JavaFX is bundled with the jdk, many things become much easier. Before this my preferred way was to install the jar in the local repository like this :

Unfortunately you had to copy all *.dll’s or so files to your local repository too. Now you can easilly reference the jfxrt.jar using the system scope and the {java.home} property. With JavaSE 7u6 it will be possible to create “native bundles” for JavaFX, although these bundles are quite huge, until Java 8 and Jigsaw is not available.

Requirements:

JavaSE 7u6 , and Inno Setup 5WiX 3.0 (for installers on Windows) for Linux, OSX see here.

The example pom.xml below will generate an executable jar file with maven, than it includes the JavaFX ANT tasks (deploy an jarSign ) to create the jnlp, the exe and so on.

 

Hint:

Kategorie(n): Allgemeines Tags: , ,

Install JavaFX 2.1 (final) in local maven repository on OSX

Yesterday Oracle finally released JDK 1.7 and JavaFX 2.1 for OSX.  If you want to use JavaFX 2.1 in a maven project you have to add it to your local maven repository. To do so, open the terminal and type

than add the jfxrt.jar to your local repository by typing:

next open the finder by typing:

and copy the files:

to:

 

that´s it.

Kategorie(n): Allgemeines Tags: , , ,

Use JavaFX2 with Spring

Spring is more than a simple IoC container, it gives you access to a whole paltform. Besides the benifits of injecting Nodes or parts of your application UI you can benefit of the whole Spring infrastructure. The following examle demonstrates how to define a JavaFX2 / Spring application.

To start a JavaFX 2 application we usually extend from javafx.application.Application and implement a main method to call the static Application.launch() method. Defining a *.Application bean didn’t succeed for me so let’s create an abstract launcher class which extends from javafx.application.Application and contains the Spring context:

 

The start(Stage stage) method I use to get the root bean defined in the Spring context and to pass the stage to an abstract method. You can easilly adjust the code and pass the root node too…

Now we need a Class with a main method that is bootstrapping the JavaFX Application and the Spring context.

In line 15 you can see “this.getRoot()” returning the root node from Spring context. This component is a SplitPane and contains the leaf Nodes injected by Spring.

So create the root and the leaf components :

and

and

Finaly create a spring.xml and define the beans (I prefer xml to show the hierarchie)…

And voilà … you defined JavaFX 2 Nodes as Spring beans. You can use the root as well as the leaf nodes like avarage Spring beans and use the whole Spring infrastructure.

 

 

 

Kategorie(n): Allgemeines Tags: , ,

Get ChildNodes from JavaFX 2 Parent element

If you consider to write some API/util methods in JavaFX 2 you will mention that getChildren() is a protected method in Parent class. The hirarchie of all JavaFX 2 classes you can find here : http://amyfowlersblog.wordpress.com/2011/06/02/javafx2-0-layout-a-class-tour/  .  You should always be aware, a Parent node is attached to a Scene then its list of children must only be modified on the JavaFX Application Thread. To get the Children of any node above the Parent you can simply use Java reflection API like this:

 

Kategorie(n): Allgemeines Tags: , ,

Running the JacpFX Demo

Tho show the capabilities of JacpFX a small “Contact Demo” application is available here : http://developer.ahcp.de/demo/JACPFX2Demo.html . The intention on user side is to show the asynchronous aspect of JacpFX. When you select a category you will be asked if 250000 contacts should be created. While those contacts created you can use the application without any restrictions, you can edit the contacts already available, show statistics or creates contacts in an other category. The source code to demonstrate the development of a JacpFX application you can download here: http://code.google.com/p/jacp/downloads/list .

Pitfalls:

Currently the browser plugin is only available for Windows. You should be careful with 32/64 bit… most people downloaded the 64bit plugin and did not managed to run the demo in chrome (because it is 32 bit). Try ie (64bit) instead and the demo should run… if not, feel free to contact me.

 

Andy

Kategorie(n): Allgemeines Tags: , ,

JacpFX 1.0

Recently we published JacpFX version 1.0. After many years of prototyping with Swing and Echo3 we found JavaFX to be the best GUI toolkit to fit in JACP. The source code, documentation and so on you can find here:  http://jacp.googlecode.com . The news channel will be moved to this blog. By the way, with release 1.0 we published an article to give you a brief introduction on JacpFX. The Article can be found here : http://java.dzone.com/articles/building-rich-clients-jacpfx .

Kategorie(n): Allgemeines

Welcome to JacpFX developer blog !

This blog is all about Java, JavaFX and JacpFX. We will publish some nice articles about using JavaFX and show solutions wit JavaFX, Spring and Java.

Kategorie(n): Allgemeines