2

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 ルック アンド フィールを使用する場合のボタンの外観です。

Java GTK LAF ボタン

ここでは、ボタンが Linux (GTK 2.0) でどのように見えるかを示します。

GTK ボタン Linux

違いは、実際には Java GTK LAF の不適切なテキスト ヒンティングですが、GTK ボタン テキストは個別のシャドウでスタイル設定されています。

4

1 に答える 1