[ create a new paste ] login | about

Link: http://codepad.org/UDXV3hD6    [ raw code | fork ]

C, pasted on Jan 8:
// Main.fx
import javafx.stage.Stage;
import javafx.scene.Scene;

Stage {
    title: "Media Example"
    width: 500
    height: 500
    onClose: function(){ java.lang.System.exit(0);}
    scene: Scene {
        content: MyMedia{
            url: (
                new java.io.File("C://Temp//1984.apple_ad.mov")).toURI().toURL()
            autoPlay: true
        }
    }
}
// Main.fx END
// MyMedia.fx
import javafx.scene.Node;
import javafx.scene.CustomNode;
import javafx.scene.Group;
import javax.media.*;

public class MyMedia extends CustomNode {

    var xpos: Number;
    var ypos: Number;
    var dx: Number;

    public var url: java.net.URL;
    public var autoPlay: Boolean;

    public override function create(): Node{

        var comp:java.awt.Component;
        //var control:java.awt.Component;
        var w:Number;
        var h:Number;
        var cw:Number;
        var ch:Number;

        var jmfCom:JMFComponent;
         
        var player ;
		var control;
       
        if (autoPlay) {
        
	        Manager.setHint(Manager.LIGHTWEIGHT_RENDERER,(true));
	        player = Manager.createRealizedPlayer(url);
	        control=player.getControlPanelComponent();
	        comp=player.getVisualComponent();
            
            player.start();
        }
        w=comp.getPreferredSize().getWidth();
        h=comp.getPreferredSize().getHeight();
        cw=control.getPreferredSize().getWidth();
        ch=control.getPreferredSize().getHeight();
        jmfCom=JMFComponent {
                    width:w
                    height:h+ch
                    center:  comp
                    blocksMouse: true
                   // bottom:  control
                };

        return Group{
            content: [

                jmfCom

            ] 

        }
    }
}
// MyMedia.fx END
// JMFComponent
import javafx.ext.swing.SwingComponent;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Dimension;

public class JMFComponent extends SwingComponent{

    var panel: JPanel;


    public var center: java.awt.Component on replace{
        println("[center] set component: {center}");
        panel.add(center, BorderLayout.CENTER);
    }


    public override function createJComponent():javax.swing.JComponent{
        panel= new JPanel(new BorderLayout());

        var size:Dimension =   new  Dimension(width, height);
        panel.setPreferredSize(size);
        panel.setMinimumSize(size);
        panel.setMaximumSize(size);
        panel.setSize(size);
        return panel;
    }
}
// JMFComponent END


Create a new paste based on this one


Comments: