4

ボタンをクリックすると、背景色が変更されないようにします。デフォルトでは、色は水色の灰色に変更されます。

これが私のコードです

JButton b = new JButton();
b.setBackground(SystemColor.control);

クリックしても背景色が変わらないボタンが欲しいです。

4

2 に答える 2

2

ボタンの塗装はLAFによって異なります。次のいずれかを実行できます。

  1. 独自のUIデリゲートを定義し、それをボタンに割り当てます。 短所:複雑で、LAFを壊します。
  2. を拡張JButtonして実装しpaintComponent()ます。 短所:ボタンのラベルを自分でペイントする必要があります。
  3. を呼び出してボタンの背景の絵を完全に削除してからsetContentAreaFilled(false)、必要な背景色で不透明なパネルにボタンを追加します。 利点:ボタンは変更されておらず、LAFは壊れていません。 短所:ボタンごとにパネルを作成し、ボタンにぴったり合うように調整する必要があります。これは、レイアウトによっては非常に難しい場合があります。
于 2010-07-06T14:22:17.873 に答える
1

背景と前景に使用される色を変更できます。それをどのように行うかは、使用しているルックアンドフィールによって異なります。

ニンバスを使用している場合は、ここに色のリストがあり、を変更する方法についての記事がありますそして、ここに役立つ別の記事があります。

于 2010-07-06T13:11:53.367 に答える