2011-10-22 11 views
5

JButtonの色を設定するにはどうしたらいいですか?Jボタンの色を設定する方法

button.setBackground(Color.red); 

をしかし、成功しません:

私はこれを試してみました。ボタンの境界線の色が変わります。 私は、paintComponents

public void paintComponent(Graphics g) { 
    g.setColor(Color.GREEN); 
    g.fillRect(0, 0, getSize().width, getSize().height); 
} 

を上書きしようとしましたが、今私はあなたのルックアンドフィールに依存してどのような背景色が影響するJButton

答えて

6

あなたのボタンを着色する最良の方法は、テキストの代わりにImageIconsを使用することです。 Gimpを使用して設計することができます。

の背景が透明であることを確認してください。!これが有効になっボタン、押されていない

enter image description here

button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/myimage.png"))); 

は、これは無効button.setDisabledIcon(...ボタンで

enter image description here

この押された有効なボタンは次のとおりです。

enter image description here

押した後の背景色の変化は、スウィングによって行われます。これには2つの画像しか必要ありません。

+0

yea私もこれを試してみましたが、ボタン全体にアイコンを使用すると、ボタンを押すとグラフィックアクション(色の変化)はありません。 – hudi

+0

小さなトリックは、画像の背景を透明にする必要があることです。 –

+0

+1ですが、私はGimpと何が関係しているのか分かりません。実行時に約5行のコードで単色画像を生成することができます。 –

3

上のテキストが表示されません。 http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/index.html

背景色を使いたいルックアンドフィールを選択する必要があります。私は今あなたが何を使っているのか分かりません。デフォルトLAFの色を設定し、境界線を削除している場合は十分なはずです:

button.setBackground(color); 
button.setBorder(null); 
関連する問題