2012-06-06 28 views
2

Java Swing的问题是外观和感觉(金属,Nimbus,GTK ...),与SWT,Windows,Mac和Gnome工具套件相比,最糟糕的是,并且获得好看的小部件是乌托邦,但我是尽管问这个问题。我们可以在Java Swing中使用GTK + 2.0按钮样式吗?

我需要知道是否有可能调整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 
    } 

这是一个按钮的外观使用默认的GTK的外观和感觉的Java引擎提供时,如:

Java GTK LAF button

这里的按钮看起来像在Linux下(GTK 2.0)。

GTK Button Linux

的差异实际上是Java GTK LAF不好的文字提示,而GTK按钮文本与离散的阴影样式。

+3

啊...如果您准备花费数百/数千个工时来重新实施LAF,我相信它在理论上是可行的。对于一个乌托邦来说,应该没问题:-) –

+0

@StephenC :)这就是我害怕的原因。感谢您的回应。 – Hanynowsky

回答

2

有两种方式

  • write own JButton

  • 但正确的方式(不重新发明轮子)使用正确的Look and Feel

  • 可能的情况

    1. Insubstantial

    2. 下载源代码,

    3. 进口的所有类的IDE(2-15分钟取决于PC硬件)

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

    5. 运行并试用JMenu Look and Feel中的所有内容,所需的下载jar文件为Custom Java Swing Look and Feels均可访问JMenu

    6. 没有好四周,所有的标准和良好的定制Swing的外观,在一个JFrame

    7. 也许更好的将是与SwingX,自定义的Swing非常好的自定义实现,再没有什么好受

    8. 一起使用物质
    9. 注意:SwingX比基本的Swing知识需要更多的,物质(我认为)需要更新和定制原代码中的一些方法太

+0

谢谢。我将尝试使用Graphics重绘文本标签,至少要模拟我们可以从HTML文本 - 阴影功能中获得的内容。 – Hanynowsky

+0

[也许最简单的方法](http://stackoverflow.com/a/5845007/714968) – mKorbel

相关问题