Java2 SDK, Standard Edition, v1.4 Swing APIの大きな変更点
2001.02.26 新規

What's coming in Swing in Java2 SDK, Standard Edition, v. 1.4
「Java2SDK SE v1.3.1」のβ版が2001年2月13日(最新は2月23日)に リリースされたばかりですが。 そのリリースよりも早く報じられた「J2SDK 1.4」に関わる話、 2001年2月5日に公開された「Java2 SDK, Standard Edition, v1.4でのSwing API」の大きな変更点です。

 

JTabbedPane with scrollable tabs
今まで、JTabbedPane クラスがたくさんのタブを持つと、1列に並べきれない場合には 2段・3段と上に段組されていました。 こうなると困ってしまうのが、その段組されたタブを選択したときの挙動。 「選択したときに列自体が入れ替わって、選択タブが最下位に来なきゃイヤだ」とか 「上の段のタブを選択したのに、勝手に入れ替わって順序がメチャクチャで最悪」とか ワガママさんがたくさん現れてしまいます。

そこで登場したのが、タブのスクロールをサポートしたタブ・ペイン。 タブの横方向へのスクロールをサポートして、必ず1列で整列されます。 この賢いスクロール・タブのおかげで、自分の意見を主張する双方のワガママさんを やっつけることができます。 ただ今度は「項目全体が見渡せなくてイヤ」という、新たなワガママさんが登場しそうですが。

public static final int WRAP_TAB_LAYOUT = 0;
public static final int SCROLL_TAB_LAYOUT = 1;

public void setTabLayoutPolicy(int layoutPolicy) {〜}

 

JSpinner - A Simple Sequence Container
「帯に短し、たすきに長し」 てことで、例えば「0〜65535」の範囲の数値を指定してもらう場合。 JSlider クラスでは目盛りをつけるとコンポーネント自体(の表示領域)が大きくなり過ぎ、 それでいて別途ラベルを用意して数字を表示してあげる必要があり、すごい面倒くさい。 それで面倒くさいからといって、JTextField クラスで「数字を入力してください」 なんてしても、あまりにもお粗末な感がぬぐえません。 自分はこういうとき、大抵は編集可能な JComboBox クラスを使用しますが、 それでも既定値を用意しておくだけでは充分ではありません。 なにより、ユーザ・フレンドリじゃないですし。

そこで颯爽と登場したのが、新設された JSpinner クラスです。 見た目は JComboBox クラスの親戚っぽいですが、決定的に違うのが設定値表示脇にある 2つの「▲」と「▼」のボタン。 コレのおかげで、スライダ以上のフレンドリな機能を提供し、なおかつコンボ・ボックスの如く コンパクトで表示する場所を取りません。

業務でJavaアプリを開発している自分としては、待ちに待ってたコンポーネントです。 それくらいのコンポーネントは自前で実装しなさい?それは、確かにごもっとも。

 

Windows Look and Feel Update
あの「これは Windows3.1 かい?」と思わせるようなルック&フィールなんて、 使ってる人がいるとは思えません。

それを察してか、ウィンドウズのLAFが更新されました。 気持ち的には「マックのLAFはどうなっちゃったの?」というほうが強いですが、 この際それは気にしないようにしましょう。

気になった更新点は

です。

「デスクトップのプロパティをサポート」
今までデスクトップの色だけを反映してましたが、次はフォントやサウンドにも対応させるようです。

「グラデーション・タイトル・バー」
Win98 以降を使っている人にはお馴染みの、タイトル・バーがグラデーションになる機能です。 Java2D を使用することで、JInternalFrame クラスも対応が可能になるとか。

「スクロール・ホイールのサポート」
最近のPCでは付いてないものを探すほうが大変なホイール付きマウス、 このホイール動作をついに対応するようです。 JScrollPane クラスや JScrollbar クラスでは対応するための実装修正が行われるらしいので、 少なくともその2つではホイールでスクロールさせることが可能になります。

「メニューやツール・チップでの表示効果」
Win2000 では「スクロール」に加えて「フェード」が新設されたメニュー表示時のアニメーション効果。 その表示効果が、メニューやツール・チップに適応されるらしいです。


戻る