2016-08-04 7 views
2

Почему мой SeparatorMenuItem не отображается в Menu?SeparatorMenuItem не отображается

<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> 

Это, как я загрузить FXML:

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 
} 

Это то, что он выглядит следующим образом:

Bug in Application

, то SeparatorMenuItem должен быть между

Abmelden

и

Schließen

У меня нет Separator/SeparatorMenuItem стилей, применяемых. Я не знаю, имеет ли это значение вообще, но SeparatorMenuItem не задокументирован в JavaFX CSS Reference Guide.

+0

Это прекрасно работает для меня. Можете ли вы распространить его на [MCVE], если вы делаете что-то странное между FXML и фактическим приложением, из-за чего разделитель не появляется. (Также добавьте третий пункт меню без разделителя, посмотрите, есть ли разница ...) –

+0

@James_D Я редактировал вопрос. – ScriptKiddy

+0

@ScriptKiddy: Это не является ни минимальным, ни поддающимся проверке. Чтобы исправить это, добавьте контроллер + css, если необходимо, чтобы воспроизвести проблему или удалить их из кода. Если контроллер/css необходим, удалите из них все части, которые не нужны. Если настройка значков не требуется, удалите строку из кода. Сделайте то же самое с заголовком «Stage», обозначенным/максимизированным состоянием состояния. Также может помочь добавить информацию о JVM + OS, которую вы используете. Просто загрузите вышеприведенный файл fxml с добавленными им импортами и без контроллера/css ect. приводит к желаемому внешнему виду для меня BTW. – fabian

ответ

0

Проблема соврал в моем файле CSS:

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

установив -fx-border-width в

вызвала SeparatorMenuItem быть "ушел".