17. 選択コンポーネント
ユーザインタフェース 17章 選択コンポーネント
17.1. javax.swing.JColorChooser
「JColorChooser」は色の選択を促すコンポーネントです。コンポーネントは「カラーチューザパネル」と「プレビューパネル」の2つから構成されており、カラーチューザパネルで選択した色をプレビューパネルで確認できるようになっています。
「JColorChooser」の使用法は単純で以下の通りです。
JColorChooser colorChooser=new JColorChooser(); getContentPane().add(colorChooser,BorderLayout.CENTER);
コンストラクタに「Color」クラスのインスタンスを渡す事により、選択色の初期値を設定する事も可能です。また「showDialog」や「createDialog」staticメソッドによって簡単に「JColorChooser」を含むダイアログを作成する事もできます。しかしメソッドが呼び出される毎にインスタンスを作成するので、使用せずにプログラムを作成した方が高速化することができます。
現在の選択色は「getColor」メソッドで取得できますが、選択色が変化した事を識別するためには「JColorChooser」のモデルである「ColorSelectionModel」に「ChangeListener」を設定します。「ChangeListener」の「stateChanged」メソッドは選択色が変化する毎に呼ばれます。
(実習課題1)
以下のプログラムを作成しなさい。
- ウィンドウは背景付きの円が描かれている。
- 「色の変更」メニューを選択すると「JColorChooser」が表示され、選択色に応じてウィンドウの円の背景色が変わるようにする事。
- 「JColorChooser」で選択色を選んでいる最中も、その色に応じて円の背景色が変わるようにする事。