プログラマーの常識を学ぶ前に:プログラマーの常識をJavaで身につける(1)(2/2 ページ)
本連載は、「プログラマーの常識をJavaで身に付ける」ことを目標としています。Java言語やその文法は一通り理解しているが、「プログラマー」としては初心者、という方を対象とします。Javaコアパッケージを掘り下げることにより「プログラマーの常識」を身に付けられるように話を進めていきたい、と考えています。Javaコアパッケージには、あなたが知らない意外な発見がまだまだあるはずです。そこから、さまざまな「常識」を学びましょう
動作確認のためのシンプルSwingアプリを準備
常識をひもといていくのに先立ち、確認作業で利用するベースとなるアプリケーションを用意しておきましょう。デスクトップが次回のテーマなので、シンプルなSwingアプリを用意しておき、そのアプリケーション上でさまざまな確認をしていきます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
訂正のお知らせ(2007年2月8日)
読者から、上記のSimpleSwingFrame.javaについて貴重なご指摘を頂き、ソースコードを2007年1月31日発表時のものから差し替えさせて頂きました。
内容について正確を期すことができなかった点、読者の皆様におわび申し上げます。
何の変哲もないただ単にウィンドウを開くシンプルな Swingアプリです。プログラムが動作していることを確認するために、ウィンドウサイズいっぱいに丸を描画しています。
Windows XP上で実行してみると、ウィンドウが新たに表示され、またタスクバーにウィンドウタイトルが表示されることが確認できます。
OSの設定などにより、ウィンドウタイトルの一部などが表示されます。一般的なWindowsアプリケーション同様の最低限の挙動をすることが分かります。
このように、APIや機能などの確認のために、基本となるプログラムを用意しておくと、とても便利です。また、こういった基本となるプログラムは、行数が短ければ短いほど(ソフトウェア規模が小さければ小さいほど)扱いやすいことをお伝えします。
Javaコアパッケージを通じて新しい発見を体験!
今後の連載予定としては以下の表のようになっています。
回 | テーマ | 主な内容 |
---|---|---|
2 | デスクトップの常識 | ・java.awt.Colorクラスで学ぶ色(RGB値など) ・java.awt.Cursorクラスで学ぶカーソル ・java.awt.FontとFontMetricsクラスで学ぶフォント |
3 | 数に関する常識 | ・java.lang.Mathクラスでの数学関数の使い方と応用 ・java.util.Currencyクラスで学ぶ通貨 |
4 | 時間の常識 | ・java.util.Calendar、java.util.GregorianCaleandar、java.util.Dateクラスで学ぶ時間の概念 ・java.util.Locale、TimeZoneクラスで学ぶ国、ロケール ・java.util.Timer、TimerTaskクラスでタスク、スケジュール |
5 | 文字についての常識 | ・パッケージ java.util.regexで学ぶ正規表現 ・パッケージ java.nio.charsetで学ぶ文字エンコード |
6 | ファイル操作の常識 | ・パッケージ java.ioで学ぶファイル操作 ・java.util.Propertiesクラスで学ぶプロパティファイル ・パッケージ java.util.loggingで学ぶログ操作 |
7 | イベントの常識 | ・パッケージ java.awt.printとjavax.printで学ぶプリンタ操作 ・パッケージ java.awt.eventとdndで学ぶイベントの種類と基礎 |
8 | 圧縮技術の常識 | ・パッケージ java.util.zipとjava.util.jarで学ぶ圧縮技術 ・パッケージ javax.imageio.*で学ぶ画像データ(JPEG、BMP) |
9 | 音に関する常識 | ・パッケージ javax.accessibilityで学ぶユーザー補助機能 ・パッケージ javax.sound.*で学ぶ音楽データ |
10 | インターネットの常識 | ・パッケージjava.net.*とjavax.net.*で学ぶインターネットやプロキシー ・パッケージ javax.swing.text.htmlで学ぶHTML |
11 | セキュリティの常識 | パッケージjava.security.*とjavax.security.*で学ぶセキュリティ |
12 | アクセス権の常識 | パッケージjava.security.*とjavax.security.*で学ぶアクセス権 |
13 | 暗号化・鍵技術の常識 | パッケージ javax.cryptoとjavax.net.sslで学ぶ暗号化・鍵技術 |
〜 | 以下未定 | 以下未定 |
表 今後の「常識」の内容 |
Java言語は応用範囲が広いので、ほとんどのJavaプログラマーが常識として知っているJavaコアパッケージは、ほんのごく一部だと思います。
例えば、WebアプリケーションサーバのJavaプログラマーの方は、java.awt.Cursorなどは実務では利用したことがないことでしょう。また、携帯アプリを担うプログラマーの方は、一般のプログラマーの方の常識とは異なった常識が求められ、またそれを身に付けているのです。これはJava言語の応用範囲が広いことに起因します。
何度も言いますが、この連載は「プログラマーの常識をJavaで身に付ける」ような切り口で話を進めていきます。それによって、Webアプリケーションサーバのプログラミングを生業とされている方であっても、普段使ったことのないJavaコアパッケージを使ってみることは新鮮で、いくつかの発見があることを期待してください。
最初に、「デスクトップの常識」ということで、「色」「カーソル」「フォント」について解説します。それでは、次回をお楽しみに。
筆者紹介
blanco Framework(コミッタ)
伊賀 敏樹(いが としき)
ハンドル:いがぴょん
1968年生まれ。現在、NTTデータ ビジネスブレインズ 第一SI事業部 ソリューショングループ所属。システム開発の技術支援などに従事する。仕事におけるJava言語とのかかわりは1998年から。 現在 blanco Frameworkというオープンソースによるソースコード自動生成タイプの開発フレームワーク提供に取り組んでいる。 趣味はヴァイオリン演奏。アマチュアオーケストラで演奏することもある。
ホームページ
いがぴょんの日記ウェブページv2(1996年から続けているWeb日記)
主な著書
「やさしく学ぶ基礎からのJDBC」
「Javaプログラミング[アプリケーション編]ステップアップラーニング」
Copyright © ITmedia, Inc. All Rights Reserved.