Buongiorno a tutti ragazzi,
purtroppo per lavoro sono dovuto tornare sull'interoperabilità tra java e javafx.
il problema è il seguente:
Devo far riprodurre a java, tramite javafx, dei video in rotazione. fin qui nessun problema, ho il link o i link dei video e li sparo a java fx, tramite una interfaccia. qua sotto vi posto il codice:
metodo che "manda" i link e posizione e dimensione del video:
questo si collega a InterfaceJavaSV, presente in un jar da me creato. questa classe è cosi composta:codice:public static void vediSingoloVideo(int audio,String arrayVideo,int posx,int posy,int larg,int alt){ //JavaTestSV jt = new JavaTestSV(); //jt.eseguiSingoloVideo(audio, arrayVideo, posx, posy, larg, alt); Context context = FXLocal.getContext(); FXClassType instance = context.findClass("provavideo.Main"); ObjectValue obj = (ObjectValue)instance.newInstance(); InterfaceJavaSV ji = (InterfaceJavaSV)obj.asObject(); //ji.addVideo(audio,arrayV,larg,alt); ji.mostra(audio,arrayVideo,posx,posy,larg,alt); }
InterfaceJavaSV.java
e l'ultima classe che uso per rappresentare il video è questa:codice:package provavideo; public interface InterfaceJavaSV { //public void addVideo(int audio,String array,int larg,int alt); public void mostra(int audio,String array,int posx,int posy,int larg,int alt); }
Main.fx
Ora, il tutto su netbeans funziona, ma da prompt mi genera il seguente errore:codice:package provavideo; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.scene.media.MediaError; import javafx.stage.*; import javafx.scene.*; import provavideo.InterfaceJavaSV; class Main extends InterfaceJavaSV { var x; var y; var w; var h; var aud; var film; public override function mostra(audio:Integer,video:String,posX: Integer,posY: Integer,larg: Integer,alt: Integer) : Void { x = posX; y = posY; w = larg; h = alt; aud = audio; film = video; Stage { title: "" style: StageStyle.TRANSPARENT resizable:true x:x y:y width:w height:h scene: Scene { content: [ if(aud == 0){ MediaView{ smooth:false preserveRatio:false cache:true fitWidth: w fitHeight:h disable:false mediaPlayer:MediaPlayer{ mute:true media:Media{ onError: function(e:MediaError) { println("Media error {e}"); } source:film } autoPlay:true repeatCount:MediaPlayer.REPEAT_FOREVER } } } else{ MediaView{ smooth:false preserveRatio:false cache:true fitWidth: w//larg fitHeight: h//alt disable:false mediaPlayer:MediaPlayer{ mute:false volume:1.0 media:Media{ onError: function(e:MediaError) { println("Media error {e}"); } source:film } autoPlay:true repeatCount:MediaPlayer.REPEAT_FOREVER } } } ] } } } }
Perchè? il classpath contiene tutti i puntamenti necessari.. aiutooooo!!!codice:Microsoft Windows XP [Versione 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\user>cd C:\Documents and Settings\user\Desktop\Test Mo nitor 22-03-2010 C:\Documents and Settings\user\Desktop\Test Monitor 22-03-2010>java EasyMonitor Exception in thread "Thread-3" java.lang.NoClassDefFoundError: javafx/stage/Stag e at provavideo.Main.mostra(Main.fx:27) at MonitorObj.vediSingoloVideo(MonitorObj.java:231) at MyTimerTask.disegnaMonitor(EasyMonitor.java:2198) at MyTimerTask$1.run(EasyMonitor.java:3872) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: javafx.stage.Stage at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 5 more C:\Documents and Settings\user\Desktop\Test Monitor 22-03-2010>

Rispondi quotando
