デスクトップの常識:プログラマーの常識をJavaで身につける(2)(3/3 ページ)
本連載は、「プログラマーの常識をJavaで身に付ける」ことを目標としています。Java言語やその文法は一通り理解しているが、「プログラマー」としては初心者、という方を対象とします。Javaコアパッケージを掘り下げることにより「プログラマーの常識」を身に付けられるように話を進めていきたい、と考えています。最初は、色・フォント・マウスポインタ(カーソル)についてです。
「マウスポインタ(マウスカーソル)」はOSによって変わる
最後に、マウスポインタ(マウスカーソル)について見てみましょう。私たちがGUI付きのOSを使っている場合には、マウスポインタは大変よく見かける仕組みであることでしょう。目が行く先、そこにまさにマウスポインタが存在することが多いです。
マウスポインタは歴史的な経緯などにより、「マウスカーソル」などと呼ばれる場合があります。これから紹介するAPIも「java.awt.Cursor」という名称になっています。
Windows XPにおけるマウスポインタの種類
まず、Windows XPでの標準のマウスポインタ設定がどのようになっているのかを見ていきましょう。コントロールパネルから「マウス」を選択して「ポインタ」タブを選択すると、下の図17のような画面が開きます。
Windows XPでは、プログラムの状態とマウスポインタの形状とが図17のように関連付けされています。なるほど、私たちがウィンドウを操作していると、マウス形状が変化しますが、その形状はWindows XPでは、「マウスのプロパティ」ダイアログなどで設定できるのですね。
マウスポインタの形状を変更するAPI [java.awt.Cursor]
次に、マウスポインタの形状を変更するプログラムを書いて、プログラム上で指定した値がどのように作用するのかを確認してみましょう。ここでは、前述のシンプルSwingアプリケーションをベースとして、ウィンドウ上にマウスポインタが来ると「待ち状態」の形状に変わるようにプログラムを記述します。
Java 2 Platform SE 5.0の「java.awt.Cursor」ドキュメントを基に、指定可能なマウスポインタの定数値とWindows XPのデフォルト時のマウスポインタ形状の対応を下の表で示します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
これら定数値を用いると、システムとして組み込まれているマウスポインタの形状をすぐに利用できます。ウィンドウ上でマウスポインタが変更される様子を確認しましょう。下記のソースコードを実行してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Swingアプリケーション上をマウスポインタが通過すると、マウスポインタの形状がプログラムで指定したとおりの形状になることを確認してください。
行(5)に注目してください。JPanelのsetCursorにマウスポインタのオブジェクトを渡すことにより、マウスポインタの形状を変更できます。
ここでは、Cursor.getPredefinedCursorメソッドを用いて、すでに定義済みのマウスポインタを取り出しています。このメソッドに与える定数を変更することにより、「待ち状態」以外のマウスポインタ形状へと変化させることができます。
ワンポイント
この例では、マウスポインタを「待ち状態」の形状に変更していますが、これは形状が変更されているにすぎないことに注意する必要があります。一般的なアプリケーションの多くでは、マウスポインタが「待ち状態」の形状になっているときには、「マウスクリック」などのイベントの多くが無効化されているかと思います。しかし、この例では、マウスポインタの形状が単に「待ち状態」になっているにすぎず、イベントは無効化されていません。ご注意を。
次回は「数」の常識について
今回はプログラマーに身近なデスクトップの常識と題して、「色」「フォント」「カーソル」を紹介しました。次回の記事では、[java.lang.Math]クラスなどを使って、数に関する常識を取り上げる予定です。それでは、次回をお楽しみに。
参考文献
▼『デジタル色彩マニュアル』 クレオ発行、日本色彩研究所
筆者紹介
blanco Framework(コミッタ)
伊賀 敏樹(いが としき)
ハンドル:いがぴょん
1968年生まれ。現在、NTTデータ ビジネスブレインズ 第一SI事業部 ソリューショングループ所属。システム開発の技術支援などに従事する。仕事におけるJava言語とのかかわりは1998年から。 現在 blanco Frameworkというオープンソースによるソースコード自動生成タイプの開発フレームワーク提供に取り組んでいる。 趣味はヴァイオリン演奏。アマチュアオーケストラで演奏することもある。
ホームページ
いがぴょんの日記ウェブページv2(1996年から続けているWeb日記)
主な著書
「やさしく学ぶ基礎からのJDBC」
「Javaプログラミング[アプリケーション編]ステップアップラーニング」
Copyright © ITmedia, Inc. All Rights Reserved.