【发布时间】:2016-06-06 12:20:41
【问题描述】:
我有一个 Java 项目,它通过 JavaFX 媒体播放器 播放 .flv 媒体文件,并且运行良好。最近,我一直想通过在这个项目中添加 GUI 组件来进行实验(JPanel,JLabel)。但是,我的所有尝试都失败了,经过一些研究后发现它并不像我最初想象的那么简单。我尝试过 borderPane.setTop(JLabel) 但我得到了一个 “Cannot convert Jlabel to Node”错误..我觉得我错过了什么
如果有人知道为什么这对我不起作用,我将非常感谢任何形式的解释或示例.. :)
这里是代码,如果它可能对你有用!
@Override
public void start(Stage stage){
String path = "Data/Video/Clip.flv";
Media media = new Media(new File(path).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
MediaView mediaView = new MediaView(mediaPlayer);
BorderPane borderPane = new BorderPane();
borderPane.setCenter(mediaView);
//borderPane.add(logoPanel); <<<<<<< Error
Scene scene = new Scene(borderPane, 1024, 800);
scene.setFill(javafx.scene.paint.Color.BLACK);
stage.setTitle("Media Player");
stage.setScene(scene);
stage.show();
mediaPlayer.setAutoPlay(true);
【问题讨论】:
-
您真的想将 Swing(
JPanel、JLabel等)与 JavaFX(MediaPlayer、BorderPane)混合使用吗?这样做很困难,并且需要使用两个不同的工具包和两个不同的 UI 线程。为什么不能只使用 JavaFX 构建 UI,是否有一个非常紧迫的原因?
标签: java swing javafx jlabel stage