Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

JavaWorld Daily Brew

Chris Oliver's Weblog

F3, JavaFX, Programming. RSS feed

JavaOne 2008

We presented our JavaFX keynote demos yesterday, including Moontank

Read more ...

 

Key-Frame Animation

It's unfortunate that OpenJFX currently isn't a real open-source project. As such, it gives the appearance that progress isn't being made with JavaFX Script. Nevertheless, evolution has occurred, albeit internally.

I've worked on replacing the animation framework in JavaFX with something more complete and consistent. This was always intended to happen. The presently available animation mechanism (the "dur" operator) was a temporary solution added to F3 more than a year ago, was never thought to be an adequate solution, and clearly isn't to anyone who has ever actually tried to use it.

Read more ...

 

Compiled JavaFX Script

The JavaFX script compiler is still a work in progress, but here's an very basic implementation of the Bubblemark application using it.

Read more ...

 

Bubblemark

This posting says some nice things about JavaFX, but also points out that in its current incarnation its performance is lacking:

The first thing you’ll notice is that it’s very slow. The demo takes a very long time to load and start, and real time performance is disappointing. Here is how it compares:

Read more ...

 

Programming Animations in FX

I've been trying to refactor the animation support in FX lately and discussed it with Brian Goetz while he was here, and here's the current state. These changes will be checked in to the OpenJFX repository shortly. Note: this about programming animations, not tool-support. I assume a tool will produce data structures that describe canned animations, not code like this.



Read more ...

 

Hotspot vs Adobe Tamarin VM? No contest.

Several people have told me of Adobe boasting about their Tamarin JavaScript VM, so I decided to look into it myself. I ran 100 iterations of the same Takeuchi Benchmark from my previous post with both Tamarin and Java SE 1.6 Hotspot VM and for this case I found Hotspot more than 25 times faster (see below).

Surprisingly (or maybe not) Adobe's ActionScript compiler (which generates the byte-code for Tamarin) itself is actually a Java application.

Here's Tamarin:


function tak(x:Number, y:Number , z:Number) {
    return y >= x ? z : tak(tak(x-1, y, z), 

Read more ...
 

First steps with the JavaFX Compiler

Thanks to the efforts of Robert Field, Lubo Litchev, and Jonathan Gibbons of the Javac team, as well as Per Bothner and Brian Goetz (and also thanks to the organizational efforts of Bob Brewin, James Gosling, and Tom Ball) we have the beginnings of a JavaFX to JVM-byte-code compiler built on the same infrastructure as Javac.



Read more ...

 

Bidirectional binding

In addition to corrections to local variable binding the next update of the JavaFX interpreter will include extended bidirectional binding, including of logical negation, unary minus, arithmetic, and sequence indexing. Here's a JavaFXPad example you can try out:


// logical negation
var a = true;
var b = bind not a;
assert b == false;
b = true;
assert a == false; // passes

// arithmetic
var x = 10; 

Read more ...
 

Preview of JavaFX Interpreter

As I mentioned we will be posting an update to OpenJFX shortly.

The interpreter now has proper support for binding local variables and partially enforces cardinality constraints.

Here's the latest JavaFXPad for you to try it out.

JavaFXPad also has some improvements:

JavaFX SVG Translator Preview

It'll take a few more days before we post the code to OpenJFX, but in the meantime here's a preview of the latest version of our SVG to FX translator. The translator converts an SVG document into a single JavaFX class. Each definition id in the SVG is converted into a method of the class that returns the JavaFX equivalent of that element. The generated class itself is an instance of the JavaFX class Node, which means it can be used anywhere in a JavaFX Canvas.



Read more ...

 

A Real DryerFox

When I ran across this Apollo example it occurred to me that I could pretty easily create a close Java equivalent of Apollo by combining JavaFX with WebRenderer.

WebRenderer provides a Java Swing component that encapsulates the Firefox browser. In addition, it provides an extensive Java API to interact with the browser including the full DOM. However, WebRenderer isn't free software.



Read more ...

 

JavaFX

As you probably heard at JavaOne, F3 is now called JavaFX. The initial public release is available here: http://openjfx.org. Please join me there for discussion and further development.
 

JavaOne 2007

I'll be presenting a technical session on F3 at JavaOne this year on Wednesday, May 9.

This F3 example won't make it into my session, so I'll just post it here.



Read more ...

 

MacOS Dashboard Widgets

I recently got a Mac and took a look at their dashboard widgets. Such widgets consist of several files:
  • An HTML file
  • A CSS file
  • A JavaScript file
  • Image files

Of course, I had to try to see how hard it would be to do the same thing in F3. Here's the F3 version of the Calculator widget:



Read more ...

 

3D and Faux 3D

Simple Faux 3D effects are common in 2D graphics, however the quality and performance of such effects is limited. Eventually, I want to integrate a true 3D declarative scene graph API into F3. The goal isn't to provide a massively scalable 3D engine, but rather to make it easy to program smaller scale 3D effects with high performance.

In the meantime, since you can call Java from F3 it's possible to directly use GLJPanel in F3 and call JOGL API's directly to mix 2D and 3D effects.



Read more ...

 
Syndicate content