FX Experience Has Gone Read-Only

I've been maintaining FX Experience for a really long time now, and I love hearing from people who enjoy my weekly links roundup. One thing I've noticed recently is that maintaining two sites (FX Experience and JonathanGiles.net) takes more time than ideal, and splits the audience up. Therefore, FX Experience will become read-only for new blog posts, but weekly posts will continue to be published on JonathanGiles.net. If you follow @FXExperience on Twitter, I suggest you also follow @JonathanGiles. This is not the end - just a consolidation of my online presence to make my life a little easier!

tl;dr: Follow me on Twitter and check for the latest news on JonathanGiles.net.

JavaFX 3D Early Access Available

JavaFX 3D Early Access Available

If you came to JavaOne 2012 or watched they keynote online you would have seen a cool proof of concept we did along with Canoo and Navis. In case you missed it, its on YouTube:

It was built on a early JavaFX prototype with added 3D mesh, Camera and Lighting support. The first public build of JavaFX 8 with the official support for this is now out for you to download, yay!

Download Java 8 EA b77 (including 3D) …

At the moment there is only support for Windows but a OpenGL version for other platforms is being worked on.

For a list of 3D features that are being worked on then check out the Open JFX wiki:
wikis.oracle.com – OpenJDK – 3D Features

Here is a very simple example to help you get started:

import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.*;
import javafx.stage.Stage;

public class Shapes3DViewer extends Application {
    @Override public void start(Stage stage) {
        PhongMaterial material = new PhongMaterial();
        material.setDiffuseColor(Color.LIGHTGRAY);
        material.setSpecularColor(Color.rgb(30, 30, 30));

        Shape3D[] meshView = new Shape3D[] {
            new Box(200, 200, 200),
            new Sphere(100),
            new Cylinder(100, 200),
        };

        for (int i=0; i!=3; ++i) {
            meshView[i].setMaterial(material);
            meshView[i].setTranslateX((i + 1) * 220);
            meshView[i].setTranslateY(500);
            meshView[i].setTranslateZ(20);
            meshView[i].setDrawMode(DrawMode.FILL);
            meshView[i].setCullFace(CullFace.BACK);
        };

        PointLight pointLight = new PointLight(Color.ANTIQUEWHITE);
        pointLight.setTranslateX(800);
        pointLight.setTranslateY(-100);
        pointLight.setTranslateZ(-1000);

        Group root = new Group(meshView);
        root.getChildren().add(pointLight);
        
        Scene scene = new Scene(root, 800, 800, true);
        scene.setFill(Color.rgb(10, 10, 40));
        scene.setCamera(new PerspectiveCamera(false));
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Simple 3d Example App

I can’t wait to see what sort of cool things you guys will be able to do with it 🙂

JavaFX links of the week, February 18

Hi all, a bunch of really good links this week. I hope there is something of interest to you all – enjoy! 🙂

Catch you all in a weeks time 🙂

February Open Source Update

We’ve been making progress in getting JavaFX open sourced. I wanted to take a few minutes to include this information on fxexperience (since many of you aren’t watching the mailing list). Oh, and you might want to read this one, there is some big news at the end of the post 😉

Late last year at JavaOne our Executive VP Hasan Risvi announced at JavaOne that we would be open sourcing all of JavaFX by the end of 2012. We didn’t quite make that (actually, it was a pleasant surprise to me as the announcement was made as much as to everybody else in the audience!). We quickly got into gear and started the substantial effort that goes into open sourcing each project. We have a lot of code. The following projects have already been open sourced as of this writing:

(more…)

JavaFX links of the week, February 11

Hi all. Welcome to another weeks worth of links. Enjoy 🙂

Catch you all in a weeks time.

Announcing Scenic View 8.0.0 Developer Preview 1

The development of JavaFX 8.0 has been ongoing for quite some time now, but for the most part the twists and turns of both public and private API changes has come to an end. Whilst these APIs have been changing I have been trying my best to keep Scenic View working (although it hasn’t always been easy due to the reliance on private API – yeah, I know, *tsk* *tsk* 🙂 ). Now that JavaFX API is relatively stable I feel confident in releasing a first developer preview build of Scenic View 8.0.0. I must note that this is very, very beta quality and needs a lot of polishing to be ready for real production use, however it should (hopefully) still meet your needs as well to a same degree as earlier versions. Many of my colleagues inside the JavaFX team at Oracle have been successfully using builds internally, and I have had untold hours of my life saved by this first developer preview build.

If you feel like trying out Scenic View 8.0.0 developer preview 1, please go to the usual download location and download it. If you run into issues please leave comments on this blog post and I’ll try my best to rapidly iterate the developer preview builds to at least reach a stable and functional release (if somewhat lacking in new features). Please note that Scenic View 8.0.0 will only run on JavaFX 8.0, so do not bother upgrading to it if you are still developing on JavaFX 2.x (if you are, stick with the latest release – 1.3.0).

Enjoy, and thanks for testing! 🙂