使用GTKLookAndFeel的JTextField和JLabel样式

Iva*_*van 5 java ubuntu swing look-and-feel uimanager

我需要一个具有JLabel样式的JTextField(换句话说,我需要一个JLabel,但我希望能够选择文本).

JTextField value = new JTextField(valueText);
value.setEditable(false);
value.setBorder(BorderFactory.createEmptyBorder);
value.setForeground(UIManager.getColor("Label.foreground"));               
value.setFont(UIManager.getFont("Label.font"));
value.setBackground(UIManager.getBackground("Label.background"));
...
Run Code Online (Sandbox Code Playgroud)

它在Windows和Mac上运行良好:

JTextField就像一个JL​​abel(Mac)

但是在Ubuntu(GTKLookAndFeel)上我得到了下一个结果:

JTextField就像一个JL​​abel(Ubuntu)

其中"By"是JTextField,"Size"是JLabel

Iva*_*van 2

最后我使用 JEditorPane 而不是 JTextField 得到了预期的结果:

JEditorPane value = new JEditorPane();
value.setText(valueText);
...  
Run Code Online (Sandbox Code Playgroud)

GTK 外观和感觉似乎不允许在 JTextField 中自定义背景: https://bugs.java.com/bugdatabase/view_bug ?bug_id=6531760