JavaFX按钮在第一次单击后收缩并失去装饰

JavaFX按钮在第一次单击后收缩并失去装饰,javafx,fxml,scenebuilder,Javafx,Fxml,Scenebuilder,我发生了一种奇怪的行为。我只是简单地把一个按钮作为HBox的子项。当我第一次单击时,它缩小了大小并失去了自己的装饰,就好像它变成了一个普通的标签一样。这种行为发生在按钮和继承它的按钮上(比如Jfoenix的JFXButton)。我为行为设置了动画,如下所示: <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" styleClass="page" x

我发生了一种奇怪的行为。我只是简单地把一个
按钮作为HBox的子项。当我第一次单击时,它缩小了大小并失去了自己的装饰,就好像它变成了一个普通的标签一样。这种行为发生在
按钮
和继承它的按钮上(比如Jfoenix的
JFXButton
)。我为行为设置了动画,如下所示:

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" styleClass="page" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1">
  <stylesheets>
     <URL value="@../stylesheets/base.css" />
     <URL value="@../stylesheets/jfoenix.table.css" />
     <URL value="@../stylesheets/main.tasks.css" />
  </stylesheets>
  <children>
     <VBox styleClass="section" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
        <children>
           <Pane styleClass="section-header">
              <children>
                 <Label text="Görevler" />
              </children>
           </Pane>
           <TableView prefHeight="200.0" prefWidth="200.0" styleClass="task-table">
              <columns>
                 <TableColumn prefWidth="75.0" text="C1" />
                 <TableColumn prefWidth="75.0" text="C2" />
              </columns>
           </TableView>
           <HBox prefHeight="100.0" prefWidth="200.0">
              <children>
                 <!-- This is the buggy button. -->
                 <Button mnemonicParsing="false" text="Button" />
              </children>
           </HBox>
        </children>
     </VBox>
  </children>

在初始化时,
工具栏
下的
按钮
似乎也会出现此故障状态,如下所示:

我使用的FXML如下所示:

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" styleClass="page" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1">
  <stylesheets>
     <URL value="@../stylesheets/base.css" />
     <URL value="@../stylesheets/jfoenix.table.css" />
     <URL value="@../stylesheets/main.tasks.css" />
  </stylesheets>
  <children>
     <VBox styleClass="section" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
        <children>
           <Pane styleClass="section-header">
              <children>
                 <Label text="Görevler" />
              </children>
           </Pane>
           <TableView prefHeight="200.0" prefWidth="200.0" styleClass="task-table">
              <columns>
                 <TableColumn prefWidth="75.0" text="C1" />
                 <TableColumn prefWidth="75.0" text="C2" />
              </columns>
           </TableView>
           <HBox prefHeight="100.0" prefWidth="200.0">
              <children>
                 <!-- This is the buggy button. -->
                 <Button mnemonicParsing="false" text="Button" />
              </children>
           </HBox>
        </children>
     </VBox>
  </children>
即使是普通的
按钮
,我也不知道有什么影响。是什么导致了这个小故障

提前谢谢


环境
  • Java 1.8.0 162
  • SceneBuilder 8.4.1
  • 视窗10
Maven依赖项
由于
jfoenix.table.css

:聚焦{
-fx背景颜色:-fx表格颜色,-fx框边框,-fx控件内部背景;
-外汇背景插图:-1.4,0,1;
-外汇背景半径:1.4,0,0;
/*....*/
-外汇填充:1;/*0.083333em*/
}
它实际上是按预期工作的,因为当您单击控件时,它们会聚焦。两个按钮将使效果更清晰:


这种效果的发生是因为
jfoenix.table.css中的这个规则

:聚焦{
-fx背景颜色:-fx表格颜色,-fx框边框,-fx控件内部背景;
-外汇背景插图:-1.4,0,1;
-外汇背景半径:1.4,0,0;
/*....*/
-外汇填充:1;/*0.083333em*/
}
它实际上是按预期工作的,因为当您单击控件时,它们会聚焦。两个按钮将使效果更清晰:


是只使用jfoenix/controlsfx还是普通的fx?我将jfoenix和controlsfx一起使用,但在本例中,我想演示普通JavaFX
按钮的问题(因为它的可视边框是可识别的)。嗯。。。从未见过它,请提供一个mcve(如中所建议)来演示这个问题:它是只使用jfoenix/controlsfx还是普通fx?我将jfoenix和controlsfx一起使用,但在这个示例中,我想演示普通JavaFX
按钮的问题(因为它的可视边框是可识别的)。嗯。。。从未见过它,请提供一个mcve(如中所建议)来演示问题谢谢。我还将就此创建一个问题。谢谢。我还将就此提出一个问题。
org.kordamp.ikonli:ikonli-javafx:2.1.1
com.jfoenix:jfoenix:8.0.3
org.controlsfx:controlsfx:8.40.14