SSブログ

Java研修 (6) [プログラミング言語Java教育]

GUI課題

Java研修 (5)」での年間のスケジュールを紹介していますが、その中に、GUI課題というのがあります。その内容は、以下のPDFに書かれています。

http://www001.upp.so-net.ne.jp/yshibata/GUI.pdf

前半は、AWTのみを使用し、後半はSwingを使用します。AWTを使用するのは、現実にはほとんどAWTでプログラミングすることはないので、AWTプログラミングを一度は経験してもらい、特に、ダブルバッファリングを自分で行ってもらうためです。

AWT学習のために以下の参考図書を指定しています。

グラフィックJava2〈Vol.1〉AWT編 (サンソフトプレスシリーズ)

グラフィックJava2〈Vol.1〉AWT編 (サンソフトプレスシリーズ)

  • 作者: デビッド ギアリー
  • 出版社/メーカー: アスキー
  • 発売日: 2000/06
  • メディア: 単行本

現在は中古品しか購入できませんが、入手することは可能です。

しかし、最近の受講生は、中古品も入手しないし、最初から参考図書を読む気がなかったりします。その結果、第18期生では、以下のようなことが起きました。
  • AWTと指定しているのに、Swingで作成してくる。
  • 無名内部クラスを使用しないで、GUI課題を作成してくる。
『プログラミング言語Java第4版』の第5章「ネストしたクラスとインタフェース」に関して、「無名内部クラスはどのような場合に使用するのですか」と質問されたので、全員のGUI課題のソースコードを見ると、Java 1.0の頃にそれ以外の方法がなかった書き方(FrameクラスのサブクラスでXXXListenerをすべてimplementsとするというやり方)をしているのには呆れてしまいました(いったいどこのコードを参考にしているのかと)。

GUI課題は、基本的にデジタル時計です。これは、第1期の頃から続いている同じテーマです。第10期までは、指定された機能以上のものを作成する受講生が多く、毎回どんな機能が搭載されているか楽しみでした。しかし、第11期以降は、課題通りにしか作成しない受講生が多いため、わざわざ、「上記条件は最低限の条件です。上記条件を満たして、自分なりの創意工夫をしたデジタル時計を作ってきてください。」と一言追加しています。しかし、課題通りの(あるいは課題を満たしていないしていない)デジタル時計しか作成しない受講生が近年多くなっています。