JavaFX 2.0 Developer Preview SDK for Mac OS X

2012年8月現在はJavaFX 2.2がJDK 7に内蔵されています。
このためjfxrt.jarはクラスパス設定したほうが良いです。

setenv CLASSPATH ${CLASSPATH}:/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/jfxrt.jar

fxmlフォルダの中に.javaソースファイルと.fxmlファイルが入っている状態です。

fxmlフォルダの一つ上のディレクトリにおいて
javac fxml/TestFXML.java
実行は
java fxml/TestFXML
Java SE Downloads

<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import fxml.MyGroup?> 

<MyGroup fx:controller="fxml.MyGroup" id="Profile"  xmlns:fx="http://javafx.com/fxml">	
    <children>      
        <Button text="Click Me!" onAction="#handleButtonAction" />
        <Label  fx:id="label" translateX="20" translateY="25" text=""/> 
        <Label  fx:id="label2" translateX="20" translateY="45" text=""/> 
	<TextField  fx:id="tf3" translateX="20" translateY="65" text=""/>
	<TextField  fx:id="tf4" translateX="20" translateY="85" text=""/> 
        <TextField  fx:id="tf5" translateX="20" translateY="105" text=""/> 
	<TextField  fx:id="tf6" translateX="20" translateY="125" text=""/>
	<TextField  fx:id="tf7" translateX="20" translateY="145" text=""/> 
        <TextField  fx:id="tf8" translateX="20" translateY="165" text=""/> 
	<TextField  fx:id="tf9" translateX="20" translateY="185" text=""/>
	<TextField  fx:id="tf10" translateX="20" translateY="205" text=""/> 
        <TextField  fx:id="tf11" translateX="20" translateY="225" text=""/> 
	<TextField  fx:id="tf12" translateX="20" translateY="245" text=""/>
	<TextField  fx:id="tf" translateX="20" translateY="265" text=""/>
    </children>
</MyGroup >

MyGroup.java

package fxml;

import java.net.URL;
import javafx.event.ActionEvent;
import javafx.fxml.Initializable;
import javafx.fxml.FXML;
import java.util.ResourceBundle;
import javafx.scene.Group;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;

public class MyGroup extends Group implements Initializable{
    
    @FXML private Label label;
    @FXML private Label label2;
    @FXML private TextField tf3;
    @FXML private TextField tf4;
    @FXML private TextField tf5;
    @FXML private TextField tf6;
    @FXML private TextField tf7;
    @FXML private TextField tf8;
    @FXML private TextField tf9;
    @FXML private TextField tf10;
    @FXML private TextField tf11;
    @FXML private TextField tf12;
    @FXML private TextField tf;
    
    @FXML private void handleButtonAction(ActionEvent event) {
        System.out.println("You clicked me!");
        label.setText("頑張れ日本 !!!");    
        label2.setText("負けるな日本 !!!");  
        tf3.setText("java.vendor = " + System.getProperty("java.vendor")  ); 
        tf4.setText("java.vendor.url = " + System.getProperty("java.vendor.url") );
	tf5.setText("java.home = " + System.getProperty("java.home") );
	tf6.setText("java.awt.graphicsenv = " + System.getProperty("java.awt.graphicsenv") );
	tf7.setText("java.class.version = " + System.getProperty("java.class.version") );
	tf8.setText("sun.boot.class.path = " + System.getProperty("sun.boot.class.path") );
        tf9.setText("java.version = " + System.getProperty("java.version") );
	tf10.setText("java.runtime.version = " + System.getProperty("java.runtime.version") );
        tf11.setText("os.name = " + System.getProperty( "os.name") );
        tf12.setText("os.arch = " + System.getProperty( "os.arch" ));
        tf.setText("os.version = " + System.getProperty("os.version" ) );
    }

   @Override public void initialize(URL location, ResourceBundle resources) {
   
      label.setPrefWidth(150.0);
      label2.setPrefWidth(150.0);
      tf3.setPrefColumnCount(50);
      tf4.setPrefColumnCount(50);
      tf5.setPrefColumnCount(50);
      tf6.setPrefColumnCount(50);
      tf7.setPrefColumnCount(50);
      tf8.setPrefColumnCount(50);
      tf9.setPrefColumnCount(50);
      tf10.setPrefColumnCount(50);
      tf11.setPrefColumnCount(50);
      tf12.setPrefColumnCount(50);
      tf.setPrefColumnCount(50);
     
    }
}

TestFXML.java

package fxml;

import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class TestFXML extends Application {

    public static void main(String[] args) {
        Application.launch(TestFXML.class, args);
    }

    @Override
    public void start(Stage primaryStage) {
        
       MyGroup myGroup = null;
        
        try{
         myGroup = (MyGroup) FXMLLoader.load(TestFXML.class.getResource("Screen1.fxml"));
	
        }catch (IOException ioe){
            ioe.printStackTrace();
        }

        primaryStage.setTitle("Test FXML");
        primaryStage.setWidth(600);
        primaryStage.setHeight(360);

       Scene scene = new Scene(myGroup);
       
        primaryStage.setScene(scene);

        primaryStage.show();
    }
}