Zoom support for applications

Post to Twitter

Some weeks ago, JavaFX links of the week contained a very interesting link: It was about ZoomFX 1.0.1.

It's a zoomable pane for your JavaFX application.
There's another small project, called MagniFiX. It's a "simple" magnifier but different than ZoomFX.

Why was this so interesting for us?

In the past we had a lot of requests from customers for automatic application scaling for simple touch devices (terminals). Usually we solved the problem with extra source code and specific fonts/control settings - horrible.

We had other requests about image zoom in/out features and charts, ...

So we thought that ZoomFX could be a very useful extension for our JavaFX UI. We tried the demo and configured a simple test application. But first: Maven. Not new: We aren't big fans.
Sure, it wasn't hard to start a test application but we were suprised about the dependencies:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-math3</artifactId>
</dependency>

<dependency>
    <groupId>com.github.dejv78.commons.jfx</groupId>
    <artifactId>jfx-binding</artifactId>
</dependency>

<dependency>
    <groupId>com.github.dejv78.commons.jfx</groupId>
    <artifactId>jfx-geometry</artifactId>
</dependency>

<dependency>
    <groupId>com.github.dejv78.commons.jfx</groupId>
    <artifactId>jfx-input</artifactId>
</dependency>

The overlays were saved as FXML and we thought that it's not a good idea for a library like ours. Anyway, we tried the integration in our lib and stopped suddenly because ZoomFX didn't work with our dynamic layouts. It simply didn't work out-of-the-box and it had too many dependencies for such a "simple" feature.

We had no luck... but we love researching new things. So we started with our own zoom implementation without any dependencies and also integrated in our UI. We made a short screencast of the result.

Application coder

Every application and internal frame has this zoom feature because it was integrated in the UI implementation. We need to do some fine tuning, but it works great!

6 Responses to “Zoom support for applications”

  1. mk says:

    That will be very useful. I'll look forward to seeing how convenient this zoom is implemented in an instance of FXInternalWindow.

  2. rjahn says:

    It's already available in our repository.

  3. mk says:

    Can you show me how to use it and where to find it?

    I only added the following two dependencies for my maven project but I guess zoom support is from other jars.

    Keep up the good work!

    Thx much for contributing to the open source world!

    com.sibvisions.external.jvxfx
    dndtabpane
    0.1

    com.sibvisions.jvx
    jfxtensions
    0.9_beta

  4. rjahn says:

    Oh, I see.
    You're using the binaries and I meant the source code repository.

    Our repository: http://svn.code.sf.net/p/jvxfx/code/trunk jvxfx-code
    Simply use a SVN client like Tortoise or similar, to checkout the repository.

    We use Eclipse and the java folder contains a full functional Eclipse project. It also contains an ANT build.xml. Simply start the start.complete task of this file and it'll create your own binaries in build/install folder.

    Your dependencies are correct, but 0.9 didn't contain the new features because it was released before implementation has been started.

  5. Wellington says:

    how to read a file created by SceneBuilder (FXML) inside a UIInternalFrame object?

  6. rjahn says:

    Please post your questions in our Form: https://forum.sibvisions.com

Leave a Reply

Spam protection by WP Captcha-Free