Hi Community,
我最近开始学习JavaFX。现在我想使用TabPane创建导航。
表面是通过FXML创建的,应该用CSS设置样式。如下图所示,整个事情看起来应该是这样的:
https://dl.dropboxusercontent.com/u/162059/Foren_Bilder/Tabs.png
但是atm看起来像这样:
https://dl.dropboxusercontent.com/u/162059/Foren_Bilder/tabsfail.png
我无法删除这个神秘的DropShadow。阴影被放置在AnchorPane图层上,并带有styleClass“shadow”,但是这不能通过-fx-effekt:null;覆盖在Childnodes中。
现在我已经尝试了各种各样的事情 - 没有成功。
阴影仍然固执!
也许有人知道这个“问题”,可以告诉我他提出的解决方案。
我很满意每一个提示。
继承,FXML和CSS文件。
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.net.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="pane" fx:id="anchorpane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="589.0" prefWidth="1000.0" styleClass="shadow" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="viewController.TabModulController">
<stylesheets>
<URL value="@../css/tabs.css" />
</stylesheets>
<children>
<TabPane prefHeight="496.0" prefWidth="827.0" style="-fx-effect: null;" tabClosingPolicy="UNAVAILABLE">
<tabs>
<Tab text="Untitled Tab 1">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
<Tab text="Untitled Tab 2">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
</tabs>
</TabPane>
</children>
</AnchorPane>
CSS: @CHARSET“UTF-8”;
.shadow { -fx-effect:dropshadow(两个通过框,rgba(0,0,0,0.6),5,0.0,0,-1); }
.noshadow
{
-fx-effect: null;
}
.tab-pane
{
-fx-border-radius: 0 0 0 0;
-fx-background-radius: 0 0 0 0;
}
.tab-header-background
{
-fx-background-color: transparent;
}
.tab
{
-fx-background-color: transparent;
}
.tab-label
{
-fx-effect: null;
}
.tab:selected
{
-fx-background-color: #fff;
-fx-border-radius: 0 0 0 0;
-fx-background-radius: 0 0 0 0;
}
.headers-region
{
-fx-effect: null !important;
}
.tab-close-button
{
-fx-background-color: transparent;
-fx-effect: null
}