我们能模仿GTK吗;Java Swing中的2.0按钮样式?
Java Swing的问题是外观和感觉(金属、Nimbus、GTK…),与SWT、Windows、Mac和Gnome工具包相比,这是最糟糕的,获得好看的小部件是乌托邦主义,但我还是要问这个问题 我需要知道是否有可能将JButton调整为默认GTK按钮。 否则,我们能给JButton文本一个样式(例如阴影)吗 以下是GTK应用于按钮小部件的样式:我们能模仿GTK吗;Java Swing中的2.0按钮样式?,java,swing,jbutton,look-and-feel,gtk2,Java,Swing,Jbutton,Look And Feel,Gtk2,Java Swing的问题是外观和感觉(金属、Nimbus、GTK…),与SWT、Windows、Mac和Gnome工具包相比,这是最糟糕的,获得好看的小部件是乌托邦主义,但我还是要问这个问题 我需要知道是否有可能将JButton调整为默认GTK按钮。 否则,我们能给JButton文本一个样式(例如阴影)吗 以下是GTK应用于按钮小部件的样式: style "button" { xthickness = 3 ythickness = 3 bg[NORMAL] = sha
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(GTK2.0)下按钮的外观
区别实际上是Java GTK LAF中的错误文本暗示,而GTK按钮文本的样式是离散阴影。有两种方法
- 但是正确的方法(不要重新发明轮子)使用正确的
- 可能的情景
- 去
- 下载源代码
- 将所有类导入IDE(2-15分钟取决于PC硬件)
- 搜索文件夹
,有test
Check.java
- 运行它并尝试
中的所有内容,从JMenu Look and Feel
JMenu
- 没有比这更好的了,所有标准和良好的定制Swing外观和感觉都集中在一个
JFrame
- 也许更好的方法是将Substance与SwingX结合使用,这是一个非常好的自定义Swing实现,同样也没有更好的方法
- 注意:SwingX需要的不仅仅是基本的Swing知识,Substance(我的视图)也需要在原始代码中更新和自定义一些方法
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
}