2017-01-12 12 views
0

Я использовал UIManager для создания пользовательского интерфейса приложения. Все хорошо, за исключением моего диалогового окна печати, созданного с помощью ServiceUI.printDialog. Я вижу, что он унаследовал большую часть моего стиля пользовательского интерфейса, например. темный фон и белый текст, но проблема в том, что цвет ярлыков для групп не изменился. Я обвел их по изображению ниже.Java Swing Print Dialog GroupLayout цвет ярлыка

enter image description here

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

PrintService[] availableServices = PrintServiceLookup 
        .lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE, null); 

PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); 

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); 

attributes.add(new Copies(1)); 
attributes.add(MediaSizeName.ISO_A4); 
attributes.add(new JobName(MainFrame.this.survey.jobName + "-Summary", null)); 

Dimension centre = ETools.getCentredWindowDim(new Dimension(300, 300)); 

PrintService service = ServiceUI.printDialog(null, 
        centre.width, centre.height, availableServices, 
        defaultService, null, attributes); 

Мой UIManager код выглядит следующим образом:

private void styleUserInterface() { 

    UIManager.put("Panel.background", Color.decode(Colors.BG)); 

    UIManager.put("TextField.background", Color.decode(Colors.TEXT_BG)); 
    UIManager.put("TextField.foreground", Color.decode(Colors.FONT_GRAY)); 
    UIManager.put("TextField.border", BorderFactory.createLineBorder(Color.decode(Colors.LIGHT_GRAY), 1)); 

    UIManager.put("Label.foreground", Color.decode(Colors.FONT_WHITE)); 

    UIManager.put("Button.background", Color.decode(Colors.BUTTON_BG)); 
    UIManager.put("Button.foreground", Color.decode(Colors.FONT_WHITE)); 
    UIManager.put("Button.border", BorderFactory.createCompoundBorder(
      BorderFactory.createLineBorder(Color.decode(Colors.LIGHT_GRAY), 1), 
      BorderFactory.createEmptyBorder(GAP_STANDARD, 
        GAP_STANDARD, 
        GAP_STANDARD, 
        GAP_STANDARD))); 

    UIManager.put("ComboBox.background", Color.decode(Colors.TEXT_BG)); 
    UIManager.put("ComboBox.foreground", Color.decode(Colors.FONT_GRAY)); 
    UIManager.put("ComboBox.border", BorderFactory.createLineBorder(Color.decode(Colors.LIGHT_GRAY), 1)); 

    UIManager.put("RadioButton.background", Color.decode(Colors.BG)); 
    UIManager.put("RadioButton.foreground", Color.decode(Colors.FONT_WHITE)); 

    UIManager.put("CheckBox.background", Color.decode(Colors.BG)); 
    UIManager.put("CheckBox.foreground", Color.decode(Colors.FONT_WHITE)); 
    UIManager.put("CheckBox.disabledText", Color.decode(Colors.FONT_DISABLED)); 
} 

Граница вокруг моей панели также не наполненный темным цветом фона. Любая помощь по этому поводу очень ценится! Благодарю.

ответ

0

Я понял, как изменить цвет этих меток с помощью `UIManager», используя следующее:

UIManager.put("TitledBorder.titleColor", Color.WHITE)); 

 Смежные вопросы

  • Нет связанных вопросов^_^