Java Swing 的问题在于外观和感觉(Metal、Nimbus、GTK...),与 SWT、Windows、Mac 和 Gnome Tool Kit 相比,外观和感觉最差,而且获得好看的小部件是乌托邦式的,但我问的是问题虽然。
我需要知道是否有可能将JButton 调整为看起来像默认的 GTK 按钮。 否则,我们可以给 JButton 文本一个样式(例如阴影)吗?
public class myTweakedButton extends JButton {
// Override style attributes here.
}
这是 GTK 应用于按钮小部件的样式:
style "button" {
xthickness = 3
ythickness = 3
bg[NORMAL] = shade (1.07, "#cdcdcd")
bg[PRELIGHT] = shade (1.09, "#cdcdcd")
bg[ACTIVE] = shade (1.0, "#cdcdcd")
bg[INSENSITIVE] = mix (0.25, @bg_color, "#e2e1e1")
fg[INSENSITIVE] = "#9c9c9c"
engine "murrine" {
#contrast = 1.0
border_shades = {1.04, 0.82}
reliefstyle = 5
shadow_shades = {1.02, 1.1}
textstyle = 1
glowstyle = 5
glow_shade = 1.1
#text_shade = 1.04
}
这是使用 Java 引擎提供的默认 GTK 外观时按钮的外观:
这里是一个按钮在 Linux (GTK 2.0) 下的样子。
区别实际上是 Java GTK LAF 中的不良文本提示,而 GTK 按钮文本的样式带有离散阴影。