2016-08-04 92 views
2

Warum wird meine SeparatorMenuItem nicht in der Menu angezeigt?SeparatorMenuItem nicht angezeigt

<MenuBar> 
    <menus> 
     <Menu mnemonicParsing="false" text="DasChat"> 
     <items> 
      <MenuItem mnemonicParsing="false" text="ExmapleMenuItem" /> 
      <MenuItem mnemonicParsing="false" text="Abmelden" /> 
      <SeparatorMenuItem/> 
      <MenuItem mnemonicParsing="false" text="Schließen" /> 
      <MenuItem mnemonicParsing="false" text="ExmapleMenuItem" />   
     </items> 
     </Menu> 
     <Menu mnemonicParsing="false" text="Hilfe"> 
     <items> 
      <MenuItem mnemonicParsing="false" text="Über DasChat" /> 
     </items> 
     </Menu> 
    </menus> 
    </MenuBar> 

Dies ist, wie ich die FXML laden:

Stage primaryStage = new Stage(); 
final FXMLLoader loader = new FXMLLoader(); 
loader.setLocation(getClass().getResource("Client.fxml")); 
loader.setController(new ClientController(primaryStage)); 
try 
{ 
    final Parent root = loader.load(); 
    final Scene scene = new Scene(root); 
    primaryStage.setScene(scene); 
    primaryStage.getScene().getStylesheets().add(getClass().getResource("/style/daschat.css").toExternalForm()); 
    primaryStage.setTitle("DasChat"); 
    primaryStage.getIcons().add(new Image(this.getClass().getResourceAsStream("/images/icon.png"))); 
    primaryStage.show(); 
    primaryStage.setIconified(false); 
    primaryStage.setMaximized(false); 
    primaryStage.setMinWidth(primaryStage.getWidth()); 
    primaryStage.setMinHeight(primaryStage.getHeight()); 
} 
catch (Exception e) 
{ 
    //Logging stuff 
} 

Dies ist, wie es aussieht: sollte

Bug in Application

, die SeparatorMenuItem

sein zwischen Abmelden

und

Schließen

Ich habe keine Separator/SeparatorMenuItem angewendet Stile. Ich weiß nicht, ob das überhaupt wichtig ist, aber SeparatorMenuItem ist nicht in der JavaFX CSS Reference Guide dokumentiert.

+0

Das funktioniert gut für mich. Können Sie es zu einem [MCVE] erweitern, falls Sie etwas seltsames zwischen der FXML und der tatsächlichen Anwendung tun, die bewirkt, dass das Trennzeichen nicht erscheint. (Fügen Sie auch einen dritten Menüpunkt ohne Trennzeichen hinzu, sehen Sie, ob es wirklich einen Unterschied gibt ...) –

+0

@James_D Ich habe die Frage bearbeitet. – ScriptKiddy

+0

@ScriptKiddy: Dies ist weder minimal noch verifizierbar. Um das Problem zu beheben, fügen Sie bitte Controller + CSS hinzu, um das Problem zu reproduzieren oder aus dem Code zu entfernen. Wenn Controller/CSS notwendig sind, entfernen Sie alle Teile von ihnen, die nicht notwendig sind. Wenn das Festlegen der Symbole nicht erforderlich ist, entfernen Sie die Zeile aus dem Code. Machen Sie das gleiche mit dem 'Stage'-Titel, dem iconicified/maximized state ect .. Auch das Hinzufügen von Informationen über das von Ihnen verwendete JVM + OS könnte helfen. Einfaches Laden des obigen fxml mit importierten und ohne Controller/css ect. ergibt für mich das gewünschte Aussehen. – fabian

Antwort

0

Das Problem tat liegen in meiner CSS-Datei:

* 
{ 
    -fx-text-fill: black; 
    -fx-border-width: 0 !important; 
} 

die -fx-border-width zu

Einstellung

die SeparatorMenuItem verursacht hat "weg" zu sein.