Hallo,
offensichtlich scheint die Java-UIManager-Klasse mit der Desktop-Umgebung Xfce auf Linux nichts anfangen zu können, da ich glaube, dass mein Java-Code richtig ist:
UIManager.put("Menu.font", new FontUIResource("Arial", Font.TRUETYPE_FONT, 14));
...bringt nichts. Es werden die hässlichen Standardfonts verwendet.
UIManager.put("Menu.font", new Font("Arial", Font.TRUETYPE_FONT, 14));
...dito.
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
....hat auch keine Wirkung auf Internal Frames. Bei Windows funktioniert es ausnahmsweise. Bei der Xfce-Oberfläche, die ich benutze, sinddie Internal Frames in diesem Java-Standardblau.
Seltsamerweise gibt UIManager.getDefaults() jede Menge Daten aus, z.B:
OptionPane.errorSound ,, sounds/OptionPaneError.wav
Label.font ,, javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=bold,size=12]
TextArea.caretForeground ,, sun.swing.PrintColorUIResource[r=51,g=51,b=51]
SplitPaneDivider.draggingColor ,, javax.swing.plaf.ColorUIResource[r=64,g=64,b=64]
OptionPane.errorDialog.titlePane.background ,, javax.swing.plaf.ColorUIResource[r=255,g=153,b=153]
Desktop.ancestorInputMap ,, javax.swing.plaf.InputMapUIResource@3570b0
TextArea.inactiveForeground ,, javax.swing.plaf.ColorUIResource[r=184,g=207,b=229]
controlHighlight ,, javax.swing.plaf.ColorUIResource[r=255,g=255,b=255]
TextField.caretBlinkRate ,, 500
TextArea.selectionBackground ,, javax.swing.plaf.ColorUIResource[r=184,g=207,b=229]
Button.defaultButtonFollowsFocus ,, false
ToolTip.background ,, javax.swing.plaf.ColorUIResource[r=184,g=207,b=229]
MenuItem.acceleratorForeground ,, javax.swing.plaf.ColorUIResource[r=99,g=130,b=191]
Tree.font ,, javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=plain,size=12]
TabbedPane.focus ,, javax.swing.plaf.ColorUIResource[r=99,g=130,b=191]
TabbedPane.light ,, javax.swing.plaf.ColorUIResource[r=238,g=238,b=238]
ScrollPane.font ,, javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=plain,size=12]
RadioButton.darkShadow ,, javax.swing.plaf.ColorUIResource[r=122,g=138,b=153]
ToolBar.isRollover ,, true
FileChooserUI ,, javax.swing.plaf.metal.MetalFileChooserUI
InternalFrame.activeTitleBackground ,, javax.swing.plaf.ColorUIResource[r=184,g=207,b=229]
MenuItem.disabledForeground ,, javax.swing.plaf.ColorUIResource[r=153,g=153,b=153]
OptionPane.minimumSize ,, javax.swing.plaf.DimensionUIResource[width=262,height=90]
ToggleButton.darkShadow ,, javax.swing.plaf.ColorUIResource[r=122,g=138,b=153]
DesktopIcon.background ,, javax.swing.plaf.ColorUIResource[r=238,g=238,b=238]
ToggleButton.textShiftOffset ,, 0
Spinner.ancestorInputMap ,, javax.swing.plaf.InputMapUIResource@79717e
ToggleButton.background ,, javax.swing.plaf.ColorUIResource[r=238,g=238,b=238]
List.focusCellHighlightBorder ,, javax.swing.plaf.BorderUIResource$LineBorderUIResource@10a2d64
Slider.background ,, javax.swing.plaf.ColorUIResource[r=238,g=238,b=238]
RadioButtonMenuItem.borderPainted ,, true
EditorPane.selectionBackground ,, javax.swing.plaf.ColorUIResource[r=184,g=207,b=229]
Menu.background ,, javax.swing.plaf.ColorUIResource[r=238,g=238,b=238]
PasswordField.selectionForeground ,, sun.swing.PrintColorUIResource[r=51,g=51,b=51]
RadioButton.textShiftOffset ,, 0
RadioButton.background ,, javax.swing.plaf.ColorUIResource[r=238,g=238,b=238]
OptionPane.errorIcon ,, javax.swing.plaf.IconUIResource@cfec48
Und was ich noch ganz witzig finde, ist, dass bei einem Befehl wie diesem
rechnung.setFont(new Font("Arial", Font.TRUETYPE_FONT, 14));
wobei "rechnung" ein JMenu ist, der Font gesetzt wird. Setze ich ein
UIManager.put("Menu.font", new Font("Arial", Font.TRUETYPE_FONT, 14));
bleibt das Programm davon wieder unbeeindruckt. Wie kann so etwas sein?
Markus