言語別の習作集

Java No.3

注意:JavaApplet の実行について

セキュリティー上の理由から、JavaAppletには強い制限がかけられ、
現状では、実行がほぼ不可能になっています。

初期からの習作を、順番に公開していますが、
大半を占める Applet 作品は、AppletViewerでも使わねば動かせません。

ただソースは見られますし、Applicationの実行はできます。
興味のある方はどうぞ。



Window Application と Applet

いずれも動作にはJava実行環境(http://java.com/ja/)が必要。

ここはJavaのゲーム(アプリケーション)に使うテクニックを追求。


フルスクリーンへの模索
  • FullScreenTest
    GraphicsDeviceを取得しフルスクリーンを実現する試み。
    JFrameでは枠が残り、JWindowを使うべきと判断。

  • WindowTest
    JWindowの表示テスト。フルスクリーンも試行。
    このクラスには不可解な動作がある。

  • FullScreenTest2
    一つのApplicationでJFrameとJWindowを使い分ける試み。
    これで通常ウィンドウとフルスクリーンの切り替えが可能に。

  • DisplayModeTest
    GraphicsDeviceでDisplayModeを変更する試み。
    作者の環境ではJavaからの変更が許容されておらず、実行不能。

  • FullScreenTest3
    (J)Appletから(J)Windowをフルスクリーンで表示する試み。
    JAppletだけでなくAppletでもできた。悪用可能なテクニック。

  • FullScreenTest4(フルスクリーン完成)
    Javaによる通常ウィンドウとフルスクリーンの切り替えテクニック完成。
    一つのApplicationで枠付きJFrameと枠無しJFrameを使い分ける。

  • FullScreenTest5(機能追加)
    フルスクリーンでメニューやダイアログを使うための動作確認。
    JMenuBar、JDialog、JFileChooserはフルスクリーンでどう動くのか。

  • 新たなアニメーション処理方法
  • TimerAnimation
    ThreadではなくTimerを使ったアニメーション処理。
    簡易に処理を各オブジェクトに割り振れるので利用価値が大きい。

  • 文字列表示
  • FontMetricsTest
    FontMetricsから得られるフォントの詳細情報。

  • NovelAdventureTest
    一般のゲームのように、文字を順番に流す。右端では自動改行する。
    FontMetricsで文字の表示位置を調節するもの。

  • 高度な画像表現
  • GrayFilterTest
    画像をグレースケールに変換するFilter。

  • ScaleFilterTest
    画像の大きさを変える2個のFilterの比較。
    ReplicateScaleFilterとAreaAveragingScaleFilter。

  • AffineTransformTest
    元画像をアフィン変換して変形した新たな画像を作る。
    画像作成はやや時間がかかる。

  • AlphaCompositeTest
    AlphaCompositeで描画の透明度を変える。
    Graphics2Dに設定するので実用的な速さ

  • AffineTransformTest2
    画像をアフィン変換して変形表示する。
    描画時のみの変換なので実用的な速さ。

  • RotationTest
    アフィン変換を使えば画像の回転も当然できる。
    描画時のみの変換なので実用的な速さ。

  • AreaClipTest
    Areaでは、Shapeの組み合わせで複雑な形も表現できる。
    それを描画領域としてClipしてもいい。

  • システム周辺
  • ToolBarTest
    Javaのアプリケーションにツールバーを付ける。
    便利でわかりやすくなるだろう。

  • TabbedPaneTest
    設定画面などに使うタブ切り替え。
    タブにもいろんな表現がある。

  • TreeTest
    WindowsではTreeViewという、木構造の表示形式。
    汎用だがゲームの選択画面にも使えそう。

  • FileChooserTest
    Java付属のファイル選択ダイアログJFileChooserを使う。
    OS付属のダイアログが出るFileDialogより好ましい。

  • アーカイブ(JAR、ZIP)の操作
  • OuterJarTest
    決まった名前の外部アーカイブ内のデータを簡単に取得する。
    あらかじめMANIFESTでファイル名を指定しておく。

  • JarOperation
    JARの情報取得・圧縮・解凍。
    JARができれば、ZIPはMANIFESTがない分もっと簡単。

  • OuterJarTest2
    任意の外部アーカイブ内のデータを取得する。
    できるだけ解凍せずに利用できる形で取り出す。

  • ArchivePasswordTest
    ZIPにパスワードをかけて保護する。
    Javaのライブラリでは元々パスワード保護できず、フリーのを使う。
    (『ひしだま's ホームページ』様の 「Zipユーティリティー」を利用)

  • PlayerOutputTest
    JARから、単独で起動できる別のJARを任意の設定で出力する。
    セーブデータが単独で遊べるプレイヤーでもある、という想定。

  • JarNameGetTest
    起動可能なJARファイル内から自分自身のJARファイル名を得る。
    これでJARファイルの名前が任意でも変更されても、参照が可能になる。

  • 画像ファイルへの出力
  • ImageOutputTest
    ImageIOとBufferdImageを使った画像ファイル出力。
    フォーマットの違いを意識せず簡単にできる。

  • UsableImageInfo
    ImageIOが扱える画像フォーマットを確認。
    JPEG、GIF、PNG、BMPなどで、まずこれで事足りる。

  • 暗号
  • CipherTest
    Blowfish方式で暗号化と複合化を行う。
    外部ライブラリーの「org.apache.commons.codec.binary.Hex」を使用。

  • 文字コード
  • CharCodeTest
    文字コードの判定と指定コードでの出入力。
    外部ライブラリーの「juniversalchardet」を使用。

  • 戻る