我们可以在Java Swing中使用GTK + 2.0按钮样式吗?
Java Swing的问题在于外观(Metal,Nimbus,GTK ……),与SWT,Windows,Mac和Gnome工具包相比最差,并且获得好看的小部件是乌托邦,但我问的是但是问题。
我需要知道是否有可能将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外观时Button的样子:
这里的按钮在Linux(GTK 2.0)下的样子如何。
不同之处实际上是Java GTK LAF中的文本提示,而GTK按钮文本则采用离散阴影设置。
有两种方法
-
写自己的JButton
-
但正确的方法(不要重新发明轮子)使用正确的外观 ,
-
可能的情况
-
去Insubstantial
-
下载代码源,
-
将所有类导入IDE(2-15分钟取决于PC硬件)
-
搜索文件夹
test
,有Check.java
, -
运行它并尝试
JMenu Look and Feel
所有内容,可以从JMenu
访问每个良好的Custom Java Swing Look and Feels
所需的下载jar文件 -
没有更好的,所有标准和良好的自定义Swing的外观和感觉在一个
JFrame
-
也许更好的方法是将Substance与SwingX一起使用,非常好的自定义Swing的自定义实现,再也没有更好的了解
-
注意:SwingX需要的不仅仅是基本的Swing知识,Substance(我的视图)需要更新并在原始代码中自定义一些方法
-