appendix> Component> JColorChooser TOPUPPREVNEXT

javax.swing.JColorChooser

【主な機能】

色を選択するためのペインを表示します。 の3種類の方法で色を指定することができます。

「モーダルである・モーダルでない」を選択できる本格的なダイアログを生成する方法と、 モーダルな(色の選択が終わるまで他のウィンドウがアクティブにならない) 簡易ダイアログを開く方法があります。

【主なコンストラクタ】

メソッド機能
JColorChooser() 白を選んだ状態のカラーチューザを生成します
JColorChooser(Color c) 指定された色を選択した状態のカラーチューザを生成します

【よく使われるメソッド】

メソッド機能
static JDialog creatDialog (
   Component c,
   String title,
   boolean modal,
   JColorChooser chooser,
   ActionListener ok,
   ActionListener cancel );
chooser で指定されたカラーチューザに 「了解」「取消し」「リセット」の3つのボタンがついたダイアログが 生成されます。このダイアログの親を c に、タイトルを title に指定します。 また、modal に true を指定すると このダイアログを閉じるまで プログラムは 止まったままになります。 「了解」ボタンには、 ok で指定したアクションリスナが登録され、 「取消し」ボタンには、cancel に指定されたアクションリスナが登録されます。 「了解」ボタンや「取消し」ボタンが押されるとダイアログは 非表示になります。「リセット」が押されると、表示開始時の状態に 戻ります。
Color getColor ( ) カラーチューザで選択している色をゲットします。
static Color showDialog (
   Component c,
   String title,
   Color init )
ダイアログを表示し、色が選択されるのを待ちます。 「了解」ボタンが押されると、選択された色が返されます。 「取消し」ボタンが押されるたり、ダイアログが閉じられると、 null が返されます。
ダイアログは、親コンポーネント c の中心に表示されます。 画面の中心に表示する場合には、c に null を指定します。

【使用例】

カラーチューザで選択した色を、フレームの背景色に設定するプログラムを 作成してみましょう。

creatDialog の使用例

プログラム ColorButton5.java

showDialog の使用例

プログラム ColorButton6.java

こちらの方が簡便です。

実行結果

実行結果はいずれも同じで、

ColorButton5-1.jpg

「色選択」のボタンを押すと、下図のようなダイアログが表示されます。

ColorButton5-2.jpg

上記の画面では、色の見本をクリックして色を選択します。

ColorButton5-3.jpg  ColorButton5-6.jpg 

HSBタブをクリックすると上図(左)のようになります。 色相(Hue)、彩度(Saturation)、明度(Brightness)で色の選択ができます。 縦のスライダーで色相を選択し、四角の中をクリックして彩度と明度を選択します(上図右)。

ColorButton5-4.jpg

RGBタブをクリックすると上図のようになり、スライダーで。 赤(Red)、緑(Green)、青(Blue)の強さを指定し、色の選択ができます。 色を選択した状態で、「了解」ボタンを押すとダイアログが消え、 選んだ色が、背景色に反映されます。

ColorButton5-5.jpg

どちらのプログラムも、「色選択」のボタンは何回でも押せます。


更新日:2005-05-13