Darstellungsprobleme

Hiho (sry für den Titel konnts iwie nicht gut beschreiben)

Undzwar hab ich ne FXML Anwendung gemacht, mit Hilfe des Scenebuilders gestaltet und per CSS alles aufgehübscht und sah auch super aus.
Bis ich festgestellt habe das wenn man die Anwendung mit Java 8 ausführt (also auch JavaFX 8) einige Sachen nicht mehr gehen bzw nicht so sind wie sie sollten.

Es geht im Grunde um 2 Dinge:

  1. In der Menübar hab ich den Hintergrund auf ne recht dunkle Farbe gemacht. bei JavaFX 2.2 ist die Farbe dank der CSS weiß.
    Unter JavaFX 8 allerdings wieder schwarz (was normal ist)

  2. In ner VBox lade ich dynamisch Einträge rein (das geht auch) aber die Hintergrundfarbe wird nicht mehr für die Komplette VBox gemacht bzw
    ist die Vbox in nem Scrollpane das allerdings auch den Hintergrund geändert hat. Im Prinzip gibt es nichts mehr was weiß sein sollte.

Nun weiß ich so spontan nicht was ich machen soll auch wenn ich durch den Post hier Ideen habe.

Falls irgendjemand weiß woran es liegen könnte (ich vermute veränderte CSS attribute, forsch ich gleich mal nach) wäre ich sehr verbunden wenn die Person mir heflen könnte.

MFG
Clayn

Edit:
Punkt 1 hab ich mittlerweile mittels

    -fx-text-fill: #ffffff;
}```

gelöst. 

Punkt 2 hab ich zwar mit -fx-base auch anpassen können allerdings ist die Farbe dann nicht so wie sie eigentlich sein sollte. Von daher wirds damit wohl eher nicht sein

*** Edit ***

Okay zweite Lösung auch gefunden^^ 

Scheinbar muss man in JavaFX 8 (jedenfalls fürs ScrollPane) -fx-background benutzen um die Farbe zu ändern.

Sry fürs generve hier xD

Muss mich jetzt doch nochmal zu Worte melden.

Unzwar hab ich jetzt einige Probleme mit Menüs bzw einer Tabelle wenn ich das mit JavaFX 2.2 gemachte Programm mit
JavaFX 8 starte. (Der unterschied ist das Theme (JavaFX 2.2 -> Caspian; JavaFX 8 -> Modena) welches man erst ab 8 manuell setzen kann)

Hab auch ein paar Bilder gemacht ums besser zu zeigen:

Erstes öffnen einer Combobox:

Wenn ich dann die ComboBox öffne:

Dieser Effekt tritt auch bei den Menüs auf.

Das zweite Problem betrifft die Tabelle

So siehts mit JavaFX 8 aus:

und so mit JavaFX 2:

(Btw: Das da Apo steht etc. ist kein Zufall und abgesprochen)

Vllt weiß ja jemand bescheid oder findet die richtige Lösung. Ich bin langsam mit meinem Latein am Ende

MFG
Clayn

*** Edit ***

So ich habe nun eine 90% Lösung gefunden.

Diese behebt das Tabellen Problem (was teilweise selbstgeschaffen war) und das Problem mit den Menüs und einer Choicebox.

Das Problem mit der Combobox (erste beiden Bilder) bleibt, allerdings hab ich das gefühl nicht ganz so schlimm also ertagbar.

Also zur Lösung.

Zunächst half ein

static
{
      System.setProperty("javafx.userAgentStylesheetUrl","caspian");
 }```

in der Main Klasse um explizit das Caspian Theme zu setzen (funktioniert mit JavaFX 2.2 und 8)

Die Tabelle konnte ich fixen indem ich aus 
```@Override
public void updateItem(String item, boolean empty)
{
       super.updateItem(item, empty);
       setText(empty ? null : getString());
       setGraphic(null);
       setTextFill(Color.WHITE);
       ObservableValue<String> ov = getTableColumn().
              getCellObservableValue(getIndex());
       SimpleStringProperty sp = (SimpleStringProperty) ov;
       if (textProperty() != null && sp != null)
       {
              textProperty().bindBidirectional(sp);
       }
}```

im Callback für für die CellFactory folgendes gemacht habe
```super.updateItem(item, empty);
setGraphic(null);
setTextFill(Color.WHITE);
ObservableValue<String> ov = getTableColumn().getCellObservableValue(getIndex());
SimpleStringProperty sp = (SimpleStringProperty) ov;
if (textProperty() != null && sp != null)
{
         textProperty().bind(sp);
 }```

das Löste das Problem dass die Werte in der Zelle beim automatischen resize entfernt wurden. Es wurden scheinbar die Werte im Objekt selber überschrieben aus dem eigentlich nur gelesen werden soll.
Das solls für heute gewesen sein, ich hoffe ich muss nicht zu bald wieder nerven