Java/Google App Engine/GWT 入門 -2ページ目

GWT における画像のコンパイル時最適化方法

GWT 2.0 のクライアントバンドル (ClientBundle) を利用することによって、画像のコンパイル時最適化を実施することができます。



例えば複数の画像をひとつにまとめる、img の src 属性に data: として画像データを base64 エンコードして埋め込む、複数のテキストファイルをひとつにまとめる、などの最適化を GWT をコンパイルすることで自動的に実施できます。

これらを一つ一つやるとなったら、かなりの手間で、メンテナンスも大変ですよね。

» ClientBundle で画像を効率よく利用する方法

Swing による GUI アプリケーションにおけるコントロールのレイアウト その1

Swing による GUI アプリケーションの開発時の、コンポーネントのレイアウト方法に関する記事第一弾です。

ボーダーレイアウト

上下、左右、中央の5つの領域にコンポーネントを配置します。



ボックスレイアウト

縦または横にコンポーネントを並べます。



カードレイアウト

タブのように、パネルを切り替えることができます。



他にも各種レイアウト方法がありますが、まずは第一弾ということで今回はこの3種類です。

Swing のトップレベルコンテナ

Java の Swing による GUI プログラミングを行う時に必ず理解しておかなければならない、トップレベルコンテナについて図を用いて解説記事を書きました。





» Swing のトップレベルコンテナとは・・・

文字列の比較 == と equals メソッドの違い

今回は Java の文字列 String の基礎的なお話です。

文字列の説明には Unicode 文字の連続したものですよ、ということを付け足したのと、今回新たに書いた記事では == 演算子と equals メソッドの違いなどを実例を挙げて説明します。

C# では == も Equals メソッドも同様な振る舞いをするので、この点は C# から Java へ来た人は注意が必要なところです。

» 文字列の値が等しいかチェックする時には == を利用せずに equals メソッドを使う、というお話

Google Web Toolkit のポップアップパネルの利用方法



Google Web Toolkit (GWT) のポップアップパネルを利用する方法に関する解説ページを書きました。

上のスクリーンショットのように、ちょっとしたツールチップや情報の表示 (例えば 「ロード中・・・」) のために便利に使えます。

自動的に消えるか、あるいは、モーダル表示するかどうか、といった点と、場所の指定方法が主な設定のポイントです。

詳しくは次の記事をお読みください。

» GWT ポップアップパネル ~ PopupPanel の利用

Google Web Toolkit での Button ウィジェットの使い方

久しぶりの GWT 記事の更新になりました。

今回は単純な Button の使い方です。下のようにボタンをクリックするとポップアップが表示されるというだけのサンプルコードで使い方を学びます。



概要を先に言うと、 addClickHandler に ClickHandler インターフェイスを実装したオブジェクトを渡すだけです。 ClickHandler には onClick メソッドしかないので、それを実装すれば OK です。

» GWT 入門 - Button の使い方

イベント処理の基本

イベント処理の基本として、最も単純なイベントリスナーオブジェクトの実装方法を示します。



イベント処理パターンとしては、一般的に 「委任モデル」 と 「通知モデル」 に分類されます。

通知モデルは、パブリッシャーとサブスクライバーの関係として表現され、通常疎結合なイベントモデル (loosely coupled event) に採用されます。

一方、委任モデルはあるイベントソースに対して、それのイベントに対するアクションを定義するリスナーオブジェクトを指定します。

通知モデルがブロードキャスト的に、相手の存在有無に関わらずイベントを通達するのに対して、委任モデルは特定のオブジェクトに対してイベントを送ります。

Java が特に GUI のコンポーネント間で採用しているのは、イベントの委任モデル (あるいは、委譲モデル) というものです。

その具体的な実装方法については、こちらで解説しています。

» イベント処理の基本

オブジェクトのコピー、クローンを作るときに気をつけること

オブジェクトを安易にコピーすると、思わぬ失敗をする場合があります。

オブジェクトのコピーを作ったとおもったら、単に複数の変数が同じオブジェクトを指し示しており、片方の変数を通して行った変更が、もう片方の変数で参照する際に影響を及ぼしたり・・・

さらに、クローン (clone) メソッドを定義したと思ったら、内部オブジェクトのクローンを忘れていた・・・

など、間違いどころが結構あるので気をつけましょう。

» オブジェクトのコピー、クローンを作るときに気をつけること

Java の Web アプリケーションで 「ウェルカムページ」 を設定する方法

JSP/Servlet による Web アプリケーション環境で、既定のドキュメント、すなわちウェルカムページを設定する方法を紹介します。

これはデプロイメントディスクリプタにて設定を行います・・・

» Java の Web アプリケーションにおけるウェルカムページの設定方法

List インターフェイスと ArrayList

コレクションを正しく理解して、適切に利用するには、コレクションインターフェイスと、それぞれのクラスの実装に関する理解を深めることが大切です。

今回は List インターフェイスと、動的な要素数のリストを扱うのに最も基本的な、ArrayList クラスについて、その使い方を説明します。

» List インターフェイスと ArrayList クラス