Hey Community
Ich habe vor kurzem angefangen mich in JavaFX einzuarbeiten. Nun wollte ich mit Hilfe des TabPane ein Navigation erstellen.
Die Oberfläche wird via FMXL erstellt und sollte mit CSS durchgestylt werden. Wie auf dem nachfolgenden Bild zu sehen, sollte das Ganze aussehen:
Und so sieht es aus:
Leider bekomme ich den Schatten in den Tab-Labels nicht in den Griff. Damit der Schatten um den Content, sowie die markierten Tabs gelegt wird, bekommt das AnchorPane die StyleClass "shadow" zugewiesen.
Komischerweise lässt sich dieser Schatten in den Kindelementen nicht wieder via fx-effect: null; überschreiben.
Ich habe nun schon diverse Sachen ausprobiert, leider bisher ohne Erfolge erzielen zu können.
Der Schatten bleibt hartnäckig!
Vielleicht kennt jemand von euch dieses "Problem" und kann mir sogar einen Lösungsvorschlag dazu geben
Freue mich über jeden Tipp.
Nachfolgen noch die FXML- und die CSS-Datei.
[XML]
<?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>
[/XML]
Vielen Dank für eure Hilfe
Ich habe vor kurzem angefangen mich in JavaFX einzuarbeiten. Nun wollte ich mit Hilfe des TabPane ein Navigation erstellen.
Die Oberfläche wird via FMXL erstellt und sollte mit CSS durchgestylt werden. Wie auf dem nachfolgenden Bild zu sehen, sollte das Ganze aussehen:
Und so sieht es aus:
Leider bekomme ich den Schatten in den Tab-Labels nicht in den Griff. Damit der Schatten um den Content, sowie die markierten Tabs gelegt wird, bekommt das AnchorPane die StyleClass "shadow" zugewiesen.
Komischerweise lässt sich dieser Schatten in den Kindelementen nicht wieder via fx-effect: null; überschreiben.
Ich habe nun schon diverse Sachen ausprobiert, leider bisher ohne Erfolge erzielen zu können.
Der Schatten bleibt hartnäckig!
Vielleicht kennt jemand von euch dieses "Problem" und kann mir sogar einen Lösungsvorschlag dazu geben
Freue mich über jeden Tipp.
Nachfolgen noch die FXML- und die CSS-Datei.
[XML]
<?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>
[/XML]
Code:
@CHARSET "UTF-8";
.shadow
{
-fx-effect: dropshadow(two-pass-box, 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
}
Vielen Dank für eure Hilfe
Zuletzt bearbeitet: