目次へ

17. 選択コンポーネント

17.1. javax.swing.JColorChooser

「JColorChooser」は色の選択を促すコンポーネントです。コンポーネントは「カラーチューザパネル」と「プレビューパネル」の2つから構成されており、カラーチューザパネルで選択した色をプレビューパネルで確認できるようになっています。

「JColorChooser」イメージ

「JColorChooser」の使用法は単純で以下の通りです。

JColorChooser colorChooser=new JColorChooser();
getContentPane().add(colorChooser,BorderLayout.CENTER);

コンストラクタに「Color」クラスのインスタンスを渡す事により、選択色の初期値を設定する事も可能です。また「showDialog」や「createDialog」staticメソッドによって簡単に「JColorChooser」を含むダイアログを作成する事もできます。しかしメソッドが呼び出される毎にインスタンスを作成するので、使用せずにプログラムを作成した方が高速化することができます。

現在の選択色は「getColor」メソッドで取得できますが、選択色が変化した事を識別するためには「JColorChooser」のモデルである「ColorSelectionModel」に「ChangeListener」を設定します。「ChangeListener」の「stateChanged」メソッドは選択色が変化する毎に呼ばれます。

(実習課題1)

以下のプログラムを作成しなさい。

  • ウィンドウは背景付きの円が描かれている。
  • 「色の変更」メニューを選択すると「JColorChooser」が表示され、選択色に応じてウィンドウの円の背景色が変わるようにする事。
  • 「JColorChooser」で選択色を選んでいる最中も、その色に応じて円の背景色が変わるようにする事。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp