4.5.28 (May 2009)
新しい機能 (Java)
window-deactivation-policy エレメントを nexaweb-client.xml に追加
このエレメントには、 Java アプレット自身がフォーカスコントロールと Nexaweb UI コンポーネントのフォーカスコントロールをどのようにして扱うかを指定します。
Nexaweb Platform 4.5.20 の 10102、 10104、10192、 10202 によってアプレット自身のフォーカスコントロールと Nexaweb UI コンポーネントのフォーカスコントロールが連動する修正が加えられており、 アプレット自身がフォーカスを失う/取得した場合に Nexaweb UI コンポーネントもフォーカスを失う/取得するようになりました。
この振る舞いは 4.5.19 以前とは異なる振る舞いになるため、互換性を確保するために 4.5.28 によってアプレット自身のフォーカスコントロールと Nexaweb UI コンポーネントのフォーカスコントロール を連動するためのオプションが追加されました。
また、フォーカスコントロールの連動を行わず Nexaweb Platform 4.5.20 の 10202の問題を解決するために、このエレメントにはテキストカーソルの点滅に関する振る舞いのオプションもあります。
window-deactivation-policy エレメントの設定値の詳細については 10526 の修正内容を参照ください。
機能改善 (Java)
テーブルのパフォーマンス改善
テーブル(<table/>, <treeTable/>, <tree/>, <gridTable/>)の中で <cell/> 以外の UI コンポーネントを使用している場合の 描画速度に関するパフォーマンスを改善しました。
これは、 Nexaweb Platform の 9901 の修正によってテーブルの中で <cell/> 以外の UI コンポーネントを使用している場合に コンポーネント幅を計算するためのロジックが実行されることが原因でテーブル描画パフォーマンスの劣化が起こった問題を解決しています。
振る舞いの変更 (Java)
フォーカス移動イベントの変更
Nexaweb Platform 4.5.20 の 10102、 10104、10192、 10202 の修正によってアプレット自身がフォーカスを失った場合に Nexaweb UI コンポーネントもフォーカスを失うようになりました。
この結果、アプレット以外の UI コンポーネント(ブラウザのメニューやアドレスバー、その他別ウインドウのアプリケーションなど)にフォーカスが移動すると、 Nexaweb UI コンポーネントもフォーカスを失い、フォーカスイベントが発生します。
また、アプレット自身にフォーカスが復帰した場合には Nexaweb UI コンポーネントもフォーカスを再度得る事になるため、フォーカス取得イベントが発生します。
この振る舞いは Nexaweb Platform 4.5.20 以上のバージョンでのデフォルトの振る舞いになりました。
4.5.19 以前と同様の振る舞いを希望する場合は nexaweb-client.xml の /client-app/window-deactivation-policy の設定を「none」に設定してください。
/client-app/window-deactivation-policy の設定値の詳細については 10526 の修正内容を参照ください。
修正項目 (Java)
コンボボックスのプルダウンボタンを押下すると、フォーカスがコンボボックスに移動しない。 | |
互換性 : 未確定テキストがあるときに別のテキストフィールドにフォーカスを移動するとIMEが自動的にオフになってしまう。 | |
互換性 : 非Nexawebコンポーネントにフォーカスが移動した場合にonActiveLostイベントが発生する | |
互換性 : Java Applet がフォーカスを持っている場合に Alt キーが有効になってしまう | |
互換性 : validatorをテーブルエディタのonActiveLostイベントで使用している場合、onActiveLostイベントが繰り返し発生する場合がある。 | |
Nexaweb サーバー上でデッドロックが発生する場合がある。 | |
互換性 : テーブルの中で textArea などの UI コンポーネントを使用している場合のパフォーマンス問題 | |
互換性 : 非活性状態の UI コンポーネントに対してキーボードからのオペレーションが有効なる場合がある |
修正の詳細 (Java)
10257 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
コンボボックスのプルダウンボタンを押下すると、フォーカスがコンボボックスに移動しない。 | |||||||||||||
環境 |
| ||||||||||||
対象 | onBeforeActiveLost イベントの処理によってサーバーへリクエストを行う処理を行っている UI コンポーネントの全て | ||||||||||||
事象 | onBeforeActiveLost イベントの処理の中でサーバーへリクエストを行う処理が含まれており、その処理を持っている UI コンポーネントがフォーカスを持っている状態から マウスクリックによってコンボボックスのプルダウンリストを表示するためのボタンを押した場合、あるいはメニューバーをドロップダウンリストを表示するた めにメニューを マウスクリックした場合に UI コンポーネントからコンボボックスにフォーカスが移動しない。 | ||||||||||||
修正 | onBeforeActiveLost イベントの処理の中にサーバーへのリクエストを行う処理が含まれている場合に、コンボボックスのプルダウンリストを表示するためのボタンをマウスクリック した場合、メニューバーのメニューをマウスクリックした場合であってもフォーカスがコンボボックス、メニューバーに移動するように修正。 | ||||||||||||
10415 | |||||||||||||
互換性 : 未確定テキストがあるときに別のテキストフィールドにフォーカスを移動するとIMEが自動的にオフになってしまう。 | |||||||||||||
環境 |
| ||||||||||||
対象 | テキスト入力可能な全ての Nexaweb UI コンポーネント | ||||||||||||
事象 | IME による入力を Enter キーや ESC で確定/キャンセルせずに別の UI コンポーネントをマウスクリックした場合に IME の入力モードが自動的に OFF になってしまう。 | ||||||||||||
修正 | IME の入力モードが自動的に OFF にならないように修正。 | ||||||||||||
10526 | |||||||||||||
互換性 : 非Nexawebコンポーネントにフォーカスが移動した場合にonActiveLostイベントが発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての UI コンポーネント | ||||||||||||
事象 | Nexaweb UI コンポーネントがフォーカスを持っている状態から非 Nexaweb コンポーネント(OS のコンポーネント(ブラウザ以外のウインドウや、ブラウザのアドレスバーなど))にフォーカスを 移動した場合にフォーカスを持っている Nexaweb UI コンポーネントの onActiveLost イベントが発生してしまう。 | ||||||||||||
修正 | この振る舞い自体は Nexaweb Platform 4.5.20 の 10102、 10104、10192、 10202 の修正によって発生するようになりました。 /client-app/window-deactivation-policy
4.5.19 以前のバージョンと同様の振る舞いを期待する場合には「none」を指定してください。 window-deactivation-policy が nexaweb-client.xml 内に存在しない、あるいは無効な設定値が設定されている場合のデフォルトの振る舞いは「release-focus」になります。 指定の詳細な内容については 4.5.28 に同梱される nexaweb-client.xml を参照ください。 nexaweb-client.xml の設定例(抜粋)
| ||||||||||||
10538 | |||||||||||||
互換性 : Java Applet がフォーカスを持っている場合に Alt キーが有効になってしまう | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての Nexaweb アプリケーション | ||||||||||||
事象 | アプレット自身がフォーカスを持っている場合に Alt キーを単独で押すとブラウザのメニューバーにフォーカスが移動してしまう。 | ||||||||||||
修正 | アプレット自身がフォーカスを持っている場合に Alt キーを単独で押した場合であってもブラウザにフォーカスが移動しないように修正。 | ||||||||||||
10539 | |||||||||||||
互換性 : validatorをテーブルエディタのonActiveLostイベントで使用している場合、onActiveLostイベントが繰り返し発生する場合がある。 | |||||||||||||
環境 |
| ||||||||||||
対象 | validator を UI コンポーネントの onActiveLost イベントで使用しており、validator の処理の中で DisplayService API からモーダルアラートを表示している場合。 | ||||||||||||
事象 | マウスクリックやキーボードオペレーションの旅に UI コンポーネントの onActiveLost イベントが発生し、繰り返しモーダルアラートが表示されてしまう。 | ||||||||||||
修正 | この問題を解決するために 4.5.28 で修正された 10526 のオプションを指定頂く必要があります。 | ||||||||||||
10567 | |||||||||||||
Nexaweb サーバー上でデッドロックが発生する場合がある。 | |||||||||||||
環境 |
| ||||||||||||
対象 | Nexaweb Server | ||||||||||||
事象 | HTTP セッションのタイムアウト処理とメッセージキューでメッセージのドロップ処理が同じタイミングで行われた場合、 Nexaweb Server 上でデッドロックが発生する。 | ||||||||||||
修正 | デッドロックが発生しないように修正。 | ||||||||||||
10573 | |||||||||||||
互換性 : テーブルの中で textArea などの UI コンポーネントを使用している場合のパフォーマンス問題 | |||||||||||||
環境 |
| ||||||||||||
対象 | <table/>, <treeTable/>, <tree/>, <gridTable/> | ||||||||||||
事象 | テーブル(<table/>, <treeTable/>, <tree/>, <gridTable/>)の中で <cell/> の変わりに <cell/> 以外の Nexaweb UI コンポーネントを使用した場合に、テーブルの描画速度が Nexaweb Platform 4.5.19 と比較して遅い。 | ||||||||||||
修正 | この問題は、 Nexaweb Platform の 9901 の修正によって生じるようになった互換性問題になります。 | ||||||||||||
10574 | |||||||||||||
互換性 : 非活性状態の UI コンポーネントに対してキーボードからのオペレーションが有効なる場合がある | |||||||||||||
環境 |
| ||||||||||||
対象 | onCommand イベントによって DisplayService API によってモーダルアラートを表示した後に、呼び出し元の UI コンポーネントを非活性状態(disabled="true")にした場合。 | ||||||||||||
事象 | UI コンポーネントのイベントによって DisplayService API を使用しモーダルアラートが表示した後に、イベント発生元の UI コンポーネントを非活性状態にした場合、 モーダルアラートが閉じられた後に Enter キーを押すとイベント発生元 UI コンポーネントの onCommand イベントが発生してしまう。 | ||||||||||||
修正 | 非活性状態の UI コンポーネント上でイベントが発生しないように修正。 | ||||||||||||