JavaFX(ImageView | CSS背景图像)按钮错误

JavaFX(ImageView | CSS背景图像)按钮错误,css,user-interface,button,javafx,imageview,Css,User Interface,Button,Javafx,Imageview,在可调整大小的JavaFX场景中设置按钮的背景图像时遇到问题。将窗口调整到一定大小时,背景图像似乎会淡出。在按钮中使用ImageView以及通过CSS设置背景图像时会出现问题 我在YouTube上上传了一段视频进行演示: 调整窗口大小时,可以看到背景图像消失。 该漏洞在Windows和Linux下是可复制的 这似乎只发生在一些png图标上 这是调整窗口大小时的情况,当窗口向右增大时,右按钮中的图像从按钮区域向左移动。只有右侧按钮受影响,左侧按钮不受影响: 以下是FXML: <?xml

在可调整大小的JavaFX场景中设置按钮的背景图像时遇到问题。将窗口调整到一定大小时,背景图像似乎会淡出。在按钮中使用ImageView以及通过CSS设置背景图像时会出现问题

我在YouTube上上传了一段视频进行演示:

调整窗口大小时,可以看到背景图像消失。 该漏洞在Windows和Linux下是可复制的

这似乎只发生在一些png图标上

这是调整窗口大小时的情况,当窗口向右增大时,右按钮中的图像从按钮区域向左移动。只有右侧按钮受影响,左侧按钮不受影响:

以下是FXML:

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

<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="288.0" prefWidth="862.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <BorderPane layoutX="45.0" layoutY="20.0" minHeight="100.0" minWidth="200.0" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="10.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="10.0" HBox.hgrow="ALWAYS">
         <bottom>
            <HBox alignment="TOP_RIGHT" BorderPane.alignment="CENTER">
               <children>
                  <Button mnemonicParsing="false" prefHeight="24.0" prefWidth="50.0" styleClass="googlebutton" stylesheets="@style.css">
                     <HBox.margin>
                        <Insets right="5.0" />
                     </HBox.margin>
                  </Button>
                  <Button mnemonicParsing="false" text="Button" />
                  <Button mnemonicParsing="false" prefHeight="24.0" prefWidth="50.0" styleClass="iconbutton" stylesheets="@style.css">
                     <HBox.margin>
                        <Insets left="5.0" />
                     </HBox.margin></Button>
               </children>
               <BorderPane.margin>
                  <Insets top="5.0" />
               </BorderPane.margin>
            </HBox>
         </bottom>
         <center>
            <ListView prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" />
         </center>
         <top>
            <Label text="List" BorderPane.alignment="TOP_LEFT">
               <BorderPane.margin>
                  <Insets bottom="5.0" />
               </BorderPane.margin>
            </Label>
         </top>
         <HBox.margin>
            <Insets left="20.0" />
         </HBox.margin>
      </BorderPane>
   </children>
</AnchorPane>
以前有没有其他人遇到过这样的问题

谢谢,
Jan

不要链接到非现场zip文件中的代码。编辑您的问题,使其包含内联代码。这似乎是一个缩放问题。将图标的大小从512*512调整到32*32以显示为24*24后,它就可以工作了。现在我花时间完成了您的代码并进行了尝试,我对在Win7上使用Java 8u40可以工作感到相当失望。真是浪费时间。。。关于您的问题,您可以尝试其他css大小选项,而不仅仅是像素定义。
.iconbutton {
    -fx-background-image:  url("http://s28.postimg.org/5nsybhb65/round57.png");
    -fx-background-size: 24,24;
    -fx-background-repeat: no-repeat;
}

.googlebutton {
    -fx-background-image:  url("https://www.google.de/images/google_favicon_128.png");
    -fx-background-size: 24,24;
    -fx-background-repeat: no-repeat;
}