我们可以在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的样子:

Java GTK LAF按钮

这里的按钮在Linux(GTK 2.0)下的样子如何。

GTK Button Linux

不同之处实际上是Java GTK LAF中的文本提示,而GTK按钮文本则采用离散阴影设置。

有两种方法

  • 写自己的JButton

  • 但正确的方法(不要重新发明轮子)使用正确的外观 ,

  • 可能的情况

    1. 去Insubstantial

    2. 下载代码源,

    3. 将所有类导入IDE(2-15分钟取决于PC硬件)

    4. 搜索文件夹test ,有Check.java

    5. 运行它并尝试JMenu Look and Feel所有内容,可以从JMenu访问每个良好的Custom Java Swing Look and Feels所需的下载jar文件

    6. 没有更好的,所有标准和良好的自定义Swing的外观和感觉在一个JFrame

    7. 也许更好的方法是将Substance与SwingX一起使用,非常好的自定义Swing的自定义实现,再也没有更好的了解

    8. 注意:SwingX需要的不仅仅是基本的Swing知识,Substance(我的视图)需要更新并在原始代码中自定义一些方法

Interesting Posts