改造から始めるプログラミングスタディ
プログラミングを習得するには、何かを実際に作って動かしてみるのが1番です。
こんにちは、イガジーです。
プログラミング本などにも、サンプルプログラムが載っていますよね。
ただ、本を写すのは面倒ですし、打ち間違えます。
ソースがCDでついていたり、ダウンロードできるものもありますが
そういうのをコピペしても動いて当たり前で、あまり感動はありません。
もともと、サンプルはあまり面白くないもの(実用性が小さいもの)が
多いからです。
やはり、実用性があるソフトで、動かしてみて
「これ、どうやって実現してるのだろう?」と興味を持てるものを
教材にするのが良いと思うのです。
という訳で、壁紙にカレンダーを埋め込もうwallcale.jarは
ソース付きで販売することにしました。
JavaのAPIを見ただけでは理解できないものも、サンプルがあると
すぐに使えるようになります。
「壁紙にカレンダーを埋め込もうwallcale.jar」は、
基本的な画像処理(Graphics)のサンプルとしてお手頃だと思います。
Canvasに描画するのですが、画像が大きい場合にはスクロールバーが
表示され、上下左右にスクロールさせることができます。
これは、ScrollPane というクラスを使っています。
ScrollPaneにCanvasを乗せる(addする)と、Canvasの大きさに応じて
自動的にスクロールバーの処理が実現できるのです。
カレンダーの文字は、縁取り文字の画像をリソースとして持っていて
そこからCanvasに描画しています。
ですから、動作させるOSが持っているフォントには依存しません。
数値入力用には、TextFieldの横に、アップ▲ダウン▼の画像を
描画して、マウスイベントを拾って数値を増減するようにした
MNumFieldというクラスを作っています。
アップ▲ダウン▼の画像は、線(Line)で描画していて、高さに応じた
二等辺三角形になるようにしています。
細かい動きに興味がない人も、このMNumFiledは、便利に使えると思います。
プログラミング初心者の方は、壁紙にカレンダーを埋め込もうwallcale.jarを
サンプルソースとしてご活用なさってください。
この記事へのコメントはこちら