JavaFx视频维度屏幕外

JavaFx视频维度屏幕外,java,windows,javafx-2,Java,Windows,Javafx 2,我最近发现JavaFX2.1对于制作视频播放器的项目非常有用 成功我遇到了视频尺寸方面的问题。换句话说,当我运行 节目和视频播放正常,我看不到整个视频,因为它的尺寸 大于我的屏幕分辨率。在windows7 64位中,我可以在以下代码中如何调整视频的实际大小: 公共类HelloFx扩展了应用程序{ 公共静态void main(字符串[]args){ 发射(args); } @凌驾 public void start(final Stage)引发异常{ 舞台。片名(“电影播放器”); 最终边界窗格根

我最近发现JavaFX2.1对于制作视频播放器的项目非常有用 成功我遇到了视频尺寸方面的问题。换句话说,当我运行 节目和视频播放正常,我看不到整个视频,因为它的尺寸 大于我的屏幕分辨率。在windows7 64位中,我可以在以下代码中如何调整视频的实际大小:

公共类HelloFx扩展了应用程序{
公共静态void main(字符串[]args){
发射(args);
}
@凌驾
public void start(final Stage)引发异常{
舞台。片名(“电影播放器”);
最终边界窗格根=新边界窗格();
最终媒体=新媒体(“file:///Users//user//Videos//Sintel.mp4");
最终媒体播放器=新媒体播放器(媒体);
最终媒体视图=新媒体视图(播放器);
//System.out.println(“media.width:+media.getWidth());
root.getChildren().add(视图);
最终场景=新场景(root,400400,Color.BLACK);
舞台场景;
stage.show();
player.play();
player.setOnReady(新的Runnable(){
@凌驾
公开募捐{
int w=player.getMedia().getWidth();
int h=player.getMedia().getHeight();
舞台设置最小宽度(w);
阶段.设定高度(h);
}
});
//player.play();
}
}

JavaFX 2 MediaView类有两个函数可以提供帮助。它们是.setFitHeight()和.setFitWidth()

所以,你可以,而不是让媒体决定屏幕的大小,让你的舞台设置屏幕的大小

 public void run() {
                 int w = stage.getWidth(); // player.getMedia().getWidth();
                 int h = stage.getHeight(); // player.getMedia().getHeight();

                 // stage.setMinWidth(w);
                 // stage.setMinHeight(h);
                 // make the video conform to the size of the stage now...
                 player.setFitWidth(w);
                 player.setFitHeight(h);


             }

然后视频应该放在舞台内部。上面的代码相当粗糙,你可能想更好地“缩放”视频,即:找到媒体宽度与舞台宽度的比率&媒体高度与舞台高度的比率。。。但是上面的代码应该会让你开始学习。

非常感谢你的帮助。我会给你+1的帮助,但我没有足够的声誉。