当前位置: 首页 > 知识库问答 >
问题:

视频超过窗口大小-JavaFX和FXML

韦俊英
2023-03-14

我在JavaFX和FXML方面遇到了问题。我有一个简单的FXML文件,其结构如下:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.SplitPane?>
<?import javafx.scene.control.ToolBar?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.media.MediaView?>

<BorderPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="480.0" minWidth="720.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="mediaplayer.MediaPlayerControllerSplit">
   <center>
      <SplitPane dividerPositions="0.5" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" BorderPane.alignment="CENTER">
        <items>
          <AnchorPane fx:id="mediaPaneL" style="-fx-background-color: green;">
               <children>
                  <MediaView fx:id="mediaViewL" />
               </children>
            </AnchorPane>
          <AnchorPane fx:id="mediaPaneR" style="-fx-background-color: red;">
               <children>
                  <MediaView fx:id="mediaViewR" />
               </children>
            </AnchorPane>
        </items>
      </SplitPane>
   </center>
   <bottom>
      <ToolBar minHeight="-Infinity" minWidth="-Infinity" style="-fx-background-color: black;" BorderPane.alignment="BOTTOM_CENTER">
         <items>
            <Button mnemonicParsing="false" onAction="#openVideo" text="Openfile" />
            <Button mnemonicParsing="false" onAction="#playVideo" text="&gt;" />
            <Button mnemonicParsing="false" onAction="#pauseVideo" text="||" />
            <Button mnemonicParsing="false" onAction="#stopVideo" text="stop" />
            <Button mnemonicParsing="false" text="&lt;&lt;&lt;" />
            <Button mnemonicParsing="false" text="&lt;&lt;" />
            <Button mnemonicParsing="false" text="&gt;&gt;" />
            <Button mnemonicParsing="false" text="&gt;&gt;&gt;" />
            <Button mnemonicParsing="false" onAction="#exitVideo" text="EXIT" />
         </items>
      </ToolBar>
   </bottom>
</BorderPane>

控制器将加载2个视频,并在SplitView中的相对2个AnchorPanes中显示它们,如下图所示:ClickMe

视频超出了父锚窗格的宽度范围,我如何正确设置它们?谢谢大家。

共有1个答案

陈嘉荣
2023-03-14

我已经用控制器类中的以下代码行解决了这个问题:

mediaViewL.fitWidthProperty().bind(mediaPaneL.widthProperty());

左侧(与右侧相同)mediaView宽度已安装到其第一个父宽度(AnchorPaneL/AnchorPaneR)。

 类似资料:
  • 我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:

  • 我的场景中有一个对象。我希望能够调整窗口的大小,并与它一起调整窗格的大小。我还想在窗格旁边放置一个。 到目前为止,我已经成功地生成了一个完全可调整大小的或一个,其中包含和对象,但当我调整窗口大小时,窗格不会随之调整大小。 以下是带有锚烷的FXML: 只有的版本基本上就是版本中使用的代码,但具有和属性。 如何制作一个场景,使其具有可调整大小的和?

  • 我有以下传输视频的管道: 发件人: gst-launch-1.0 rpicamsrc预览=0!'视频/x-h264,宽度=1280,高度=720,帧速率=15/1,轮廓=高'!队列RTPH264支付!udpsink主机=192.168.0.8端口=50000 收件人: gst-launch-1.0 udpsrc端口=50000 caps=“应用程序/x-rtp,媒体=(字符串)视频,时钟速率=(i

  • 问题内容: 我试图将背景尺寸设置为窗口尺寸。但是,这很挑剔。我没有使用css文件格式。 这是实现窗口的主要部分。 这是实现背景和阶段的身体部位。 我厌倦了使用BackgroundSize.AUTO,但是我不能。我应该怎么做才能得到解决方案? 如果可以,我可以使用css格式怎么使用?但是我无法重写和修改很多代码,因为我的工作快完成了,我正在集成和调试。 问题答案: 如果要拉伸图像以填满整个图像,则应

  • 我不能做的是找到一种方法来改变Vbox的尺寸(绿色段),然后根据窗口的大小改变按钮(橙色段)。(当用户使用窗口大小时) 我更喜欢找到一种方法将参数设置到我的css文件中,或者作为最后的手段在我的FXML中。 .css文件:

  • 窗口大小,我们可以非常方便的使用width、height调整,但是如何知道 width和height是一个问题? 在 Window 操作系统中,假如我们想要缩放,我们通常会把鼠标移动到窗口的右边栏,和底部边栏,以及右下边栏。 而且在不同的边栏,鼠标呈现的样式也是不一样的。当我们在右边栏的时候我们可以通过cursor: e-resize;模拟鼠标样式。 在底部边栏我们可以通过cursor: s-re