2015-09-15 6 views
5

JGoodiesを使用している場合、JButtonの色を変更する方法WindowsLookAndFeel?色を変更した後、ボタンはクリックされたときに何らかの視覚的な表示が残るはずです。色グラジェントとクリックアニメーションはJGoodiesと同じである必要はありません。JGoodiesのJButtonの色を変更するWindowsLookAndFeel

setBackground()setForeground()を使用するだけで、ボタンの概要とボタンのテキストの色を変更します。

import com.jgoodies.looks.windows.WindowsLookAndFeel; 
... 

public class Test { 
    public static void main(String[] args) throws UnsupportedLookAndFeelException { 
     UIManager.setLookAndFeel(new WindowsLookAndFeel()); 

     JFrame frame = new JFrame(); 
     frame.setSize(50, 100); 
     JButton button = new JButton("Button"); 
     button.setBackground(Color.GREEN); 
     button.setForeground(Color.RED); 
     button.setOpaque(true); 
     frame.add(button); 
     frame.setVisible(true); 
    } 
} 

enter image description here

私だけではなく、ボタンの全領域の色を設定したいと思いますアウトライン。

com.jgoodies.looks.windows.WindowsBorders#getButtonBorder()でも色を変更しようとしましたが、これは効果がないようです。

+0

どのWindowsのバージョンを使用していますか? – Vovka

+0

私はWindows 8を使用しています –

答えて

1

setContentAreaFilledへの呼び出しを追加してみてください:

button.setContentAreaFilled(false); //must be before setOpaque 
button.setOpaque(true); 

たり、JButtonのとペイントをオーバーライドすることができます:あなたは Change JButton gradient color, but only for one button, not all

+0

これは、私が欲しいもの(色が正しく表示されます)にかなり近いですが、 'WindowsLookAndFeel'を使用しているときにはクリックが視覚的に表示されません(デフォルトのルックアンドフィールを使用しています)。 –

+0

私が賞金を始めた後まで視覚的表示の規定を加えなかったので、賞金を授与されました。 –

+0

Sry、今すぐ研究とテストのための時間がありません。 いくつかの開始点: 0)http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4880747; 1)自分でButtonUIを作成するhttp://stackoverflow.com/questions/5751311/creating-a-custom-button-in-java-with-jbutton/5755124#5755124; 2)http://stackoverflow.com/questions/15043218/jbutton-background-images?rq=1; 3)背景として画像を使用する4)WindowsXP - コードは正しく動作し、問題はありません。 Win8 - 問題。 Win7はテストされていません。 – Vovka

関連する問題