如何删除Java FX手风琴默认边框?

时间:2019-03-09 22:40:49

标签: java javafx border accordion javafx-css

我有一个简单的表格,里面有2个元素的手风琴容器。
我想删除或修改手风琴的默认边框。

我的FXMLDocument.fxml文件:

<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" styleClass="form" stylesheets="@styles.css" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/10.0.1">
    <children>
      <Accordion layoutX="100.0" layoutY="75.0" prefHeight="250.0" prefWidth="400.0">
        <panes>
          <TitledPane styleClass="acc-titled-pane" text="Option 1">
            <content>
                <AnchorPane prefHeight="180.0" prefWidth="200.0" styleClass="acc-pane-body">
                </AnchorPane>
            </content>
          </TitledPane>
          <TitledPane styleClass="acc-titled-pane" text="Option 2">
            <content>
                <AnchorPane prefHeight="180.0" prefWidth="200.0" styleClass="acc-pane-body">
                </AnchorPane>
            </content>
          </TitledPane>
        </panes>
      </Accordion>
    </children>
</AnchorPane>

我的styles.css文件:

.form {
    -fx-background-color: lightgreen;
}
.acc-titled-pane {
    -fx-border-color: transparent;
}
.acc-pane-body {
    -fx-background-color: lightgreen;
    -fx-border-color: transparent;
}

如您所见,我使所有边界透明,但是仍然有一些边界: enter image description here 我尝试了很多CSS规则,但是没有一个对我有用。

1 个答案:

答案 0 :(得分:2)

首先,您应该设置TitledPane(docs)的.content子类的样式。

另外,您应该设置-fx-border-width而不是-fx-border-color,因为即使透明也会导致父母背景闪闪发光:

transparent border

如果将内容子类的边框宽度设置为0,则应该可以解决您的问题:

.acc-titled-pane .content {
    -fx-border-width: 0;
}

结果将是:

no border