4.5.21 (Nov 2008)

4.5.21 (Nov 2008)

機能改善 (Java)

SwingプラグインとNexawebコンポーネントが重なるときのリペイントを強化

SwingプラグインとNexawebコンポーネントが重なるとき、背後にあるSwingコンポーネントがNexawebのコンポーネントの前面に描画されていました。この問題は修正されています。

注意点
SwingBridge クラスの継承についてのガイドライン: SwingBridge クラスを継承しcomponentAdded() と componentRemoved() をオーバライドする場合、SwingBridge のメソッドも呼ぶ必要があります(例えば super.componentAdded() を呼びます)。また、別の方法としてsetUiComponent() を呼ぶ前にすべてのコンポーネントを追加しておく方法もあります。アプリケーションはこのどちらかの方法で実装してください。


レイアウトペインがネストしているときも、メニューをラッピングすることができる

レイアウトマネージャがネストしていてもメニューを正しくラッピングすることができるようになりました。

注意点
menuBar で height 属性が設定されているとき、その height を変更することはできません。そのため、その子メニューはラップされません。ブラウザがリサイズされたときメニューをラップさせる場合、menuBar の height 属性が指定されていないことを確認してください。

修正項目 (Java)
10206Swing コンポーネント: Swing のコンポーネントが別スレッドでリペイントされるとき Nexaweb のコンポーネントの上に描画される
10258互換性 : table の行を削除したとき NullPointerException が発生する
10260互換性 : Platform 4.5.19 と 4.5.20 では menu と menuBar の見え方が違う
10261互換性 : treeTable の row が link 要素を持つとき column の幅が不規則となる
10262互換性 : focused 属性を true にしてもフォーカスが正しく設定されない
10263互換性 : マウスホイールでスクロールできない
10264互換性 : アクティブなウィンドウのタイトルの色が正しく表示されない
10265互換性 : MCO によってフォーカスが正しく設定されない
10267互換性 : disabled スタイルが有効とならない
10268互換性 : radioButton や checkBox の group 属性を設定しても排他制御が有効とならない
10269Swing コンポーネント: JToggleButton を押すことができない
10270ネストしたレイアウトペインでは menus がラップされない
10275互換性 : サーバから XModify が処理さいているときフォーカスが正しく設定されない
10279menu が次の行にラップされていると popupMenu が動かない
10280互換性 : treeTable で利用される link 要素が正しく表示されない
10281互換性 : ui-test を false にすると ClassCastException が発生する
10282互換性 : 複雑な画面を表示するときに CPU の負荷が高まる

修正の詳細 (Java)
10206
Swing コンポーネント: Swing のコンポーネントが別スレッドでリペイントされるとき Nexaweb のコンポーネントの上に描画される
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:全て
対象全ての Nexaweb UI コンポーネントおよび SwingBridge による UI コンポーネント
事象
内容
SwingBridge クラスによって Nexaweb アプリケーションに組み込まれた Swing UI コンポーネントが UI スレッドとは異なるスレッドから描画が更新された場合、 Swing UI コンポーネントは他の UI コンポーネントとの重なり状態を無視して常に手前に表示されてしまう。
例えば、ウインドウ、ダイアログによって Z 軸の重なりが存在するアプリケーションで Swing UI コンポーネントが手前に表示されているはずのウインドウ、ダイアログ よりも手前に表示されてしまいます。
修正
内容
Swing UI コンポーネントが UI スレッドとは異なるスレッドから描画が更新された場合に、描画の更新を検知し、他の UI コンポーネントとの重なりを考慮した再描画を行うように修正。
この修正を行うために、全ての Nexaweb UI コンポーネントの基底クラスに対して変更が行われました。
10258
互換性 : table の行を削除したとき NullPointerException が発生する
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象<lockedColumn/> を使用しているテーブル(<table/>, <treeTable/>, <gridTable/>)の中で <lockedColumn/> に属する列で <cell/> 以外の UI コンポーネントが使用されている場合。
事象
内容
<cell/> 以外の UI コンポーネントが属する列幅を変更し、行データを削除した場合に、 NullPointerException が発生する場合がある。
修正
内容
NullPointerException が発生しないように修正。
この問題は、 Nexaweb Platform の 9901 の修正によって生じるようになった互換性問題になります。
9901 によってテーブル内の <cell/> 以外の UI コンポーネントのサイズの自動計算が行われるようになっており、この処理を行うためのトリガーが列幅を変更した場合に余分にテーブル情報の中で 登録される場合があり、行データを削除した場合に既に削除されている列データに対してサイズの自動計算を行おうとして NullPointerException が発生していました。
余分にテーブル情報の中にサイズの自動計算を行うためのトリガー情報を登録しないように修正。
10260
互換性 : Platform 4.5.19 と 4.5.20 では menu と menuBar の見え方が違う
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象<menu/>, <menuBar/>
事象
内容
Nexaweb Platform 4.5.19 と 4.5.20 で <menu/> および <menuBar/> の表示結果が異なる。
修正
内容
<menu/> および <menuBar/> の表示結果が 4.5.19 と同じになるように修正。
この問題は、 Nexaweb Platform の 8708 の修正によって生じるようになった互換性問題になります。
8708 によってメニューの自動ラッピング機能が追加されました。
この機能追加に伴い、メニュー自身のレイアウト方法を変更しており、この変更が外観の違いを生じさせる原因となっていました。
10261
互換性 : treeTable の row が link 要素を持つとき column の幅が不規則となる
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象<cell/> の変わりにサイズ指定のない <link/> を使用している <treeTable/>
事象
内容
<treeTable/> の中のツリーの階層向上の中で子階層に位置する <link/> 上にマウスカーソルが重なった場合、カラムの幅が自動的に拡大してしまう。
修正
内容
マウスオーバーによってカラム幅が自動的に変更されないように修正。
この問題は、 Nexaweb Platform の 9901 の修正によって生じるようになった互換性問題になります。
9901 によってテーブル内の <cell/> 以外の UI コンポーネントのサイズの自動計算が行われるようになっており、この処理がマウスカーソルが重なった際にも実行されるようになっていました。
この場合に階層構造で子階層に位置する <link/> 上にマウスカーソルを重ねるとサイズの計算内容に問題があったためこの問題が起こりました。
10262
互換性 : focused 属性を true にしてもフォーカスが正しく設定されない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象Nexaweb アプリケーションの初期表示画面で focused="true" を指定し、アプリケーション起動直後にフォーカスを設定している場合
事象
内容
初期表示画面で focused="true" が指定されている場合に、起動後にフォーカスを設定している UI コンポーネントに正しくフォーカスが設定されない。
修正
内容
初期表示画面で focused="true" が指定されている場合、正しく UI コンポーネントにフォーカスが設定されるように修正。
この問題は、 Nexaweb Platform の 10102101041019210202 の修正によって生じるようになった互換性問題になります。
10102、 10104、 10192、 10202 の修正によってアプレット自身のフォーカス保持状態と Nexaweb UI コンポーネントのフォーカス保持状態が連動されるようになりました。
この処理の結果、アプレットがフォーカスを受け取ったタイミングで前回フォーカスを持っていた UI コンポーネントにフォーカスを設定する処理を行うようになりましたが、 初期画面では前回フォーカスを持っていた UI コンポーネントが存在していないため、フォーカスの設定処理が行われずにこの問題が起こりました。
10263
互換性 : マウスホイールでスクロールできない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象ネストした <scrollPane/>
事象
内容
<scrollPane/> がネストしている状態で、子となる <scrollPane/> のスクロールバーが表示されていない状態で、 子となる <scrollPane/> 上でマウスホイールによって親となる <scrollPane/> のスクロールバーをスクロースる事ができない。
修正
内容
<scrollPane/> がネストしている場合でも正しくマウスホイールが行えるように修正。
この問題は、 Nexaweb Platform の 10199 の修正によって生じるようになった互換性問題になります。
10264
互換性 : アクティブなウィンドウのタイトルの色が正しく表示されない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象<window/>, <dialog/>, <messageDialog/>
事象
内容
アクティブなウインドウのタイトルバーの色がアクティブ状態の色にならない場合がある。
修正
内容
アクティブウインドウのタイトルバーが必ずアクティブ状態の色になるように修正。
この問題は、 Nexaweb Platform の 10195 の修正によって生じるようになった互換性問題になります。
10195 の修正によってコンポーネント状態変更(フォーカス保持時、マウスカーソル重なり時など)に伴うスタイルの変更についての修正が行われました。
この変更によってスタイルシートによるスタイルが正しく適応されなくなったためこの問題が起こりました。
10265
互換性 : MCO によってフォーカスが正しく設定されない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象DisplayService API によってモーダルアラートを表示する処理と同じ処理の中で UI コンポーネントにフォーカスを設定している場合。
事象
内容
DisplayService API によってモーダルアラートを表示する処理と同じ処理の中で UI コンポーネントにフォーカスを設定しても正しくフォーカスが設定されない。
修正
内容
モーダルアラートを表示する処理と同じ処理の中でフォーカスを設定した場合に正しくフォーカスが設定されるように修正。
この問題は、 Nexaweb Platform の 10102101041019210202 の修正によって生じるようになった互換性問題になります。
10102、 10104、 10192、 10202 の修正によってアプレット自身のフォーカス保持状態と Nexaweb UI コンポーネントのフォーカス保持状態が連動されるようになりました。
DisplayService API によるモーダルアラートはブラウザ上に別ウインドウをモーダル状態で表示するため、モーダルアラートが表示された場合、 10102、 10104、 10192、 10202 で生じるようになったフォーカスコントロールが実行されてしまいます。
モーダルアラートを表示した処理と同じ処理の中でフォーカスを設定した場合、内部の処理としてモーダルアラートがまだ完全に閉じられていないタイミングで フォーカスの移動を行おうとするが、 10102、 10104、 10192、 10202 のフォーカスコントロールによってブラウザウインドウ内の Nexaweb UI コンポーネントにフォーカスを設定することが できないためにこの問題が起こりました。
10267
互換性 : disabled スタイルが有効とならない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:全て
対象スタイルシートによって非活性状態スタイルの設定されている全ての Nexaweb UI コンポーネント
事象
内容
スタイルシートによって非活性状態スタイルが設定されている場合に、スタイルの内容が有効にならない。
修正
内容
スタイルの設定が有効になるように修正。
この問題は、 Nexaweb Platform の 10195 の修正によって生じるようになった互換性問題になります。
10195 の修正によってコンポーネント状態変更(フォーカス保持時、マウスカーソル重なり時など)に伴うスタイルの変更についての修正が行われました。
この変更によってスタイルシートによるスタイルが正しく適応されなくなったためこの問題が起こりました。
10268
互換性 : radioButton や checkBox の group 属性を設定しても排他制御が有効とならない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象<radioButton/>, <checkBox/>
事象
内容
<radioButton/>, <checkBox/> の選択状態をユーザーオペレーションによって変更しても正しく変更されない場合がある。
修正
内容
<radioButton/>, <checkBox/> の選択状態が正しく変更されるように修正。
この問題は、 Nexaweb Platform の 10195 の修正によって生じるようになった互換性問題になります。
10195 の修正によってコンポーネント状態変更(フォーカス保持時、マウスカーソル重なり時など)に伴うスタイルの変更についての修正が行われました。
<radioButton/>, <checkBox/> の選択状態はスタイルによってコントロールしているため、この変更によってスタイルシートによるスタイルが正しく適応されなくなったためにこの問題が起こりました。
10269
Swing コンポーネント: JToggleButton を押すことができない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象SwingBridge を使用して JToggleButton を使用している場合。
事象
内容
SwingBridge を使用して JToggleButton を使用している場合でアプリケーションの実装によって JToggleButton と親コンテナ(JPanel)の中でイベントをフックし、 通知を行うような実装をしている場合、 JToggleButton を押すことができません。
修正
内容
JToggleButton が正しく押せるように修正。
Nexaweb Platform 4.5.20 での Swing Plug-in コンポーネントのサポートによって SwingBridge によって登録されている Swing コンポーネントの全てに Swing コンポーネントの状態を監視するためのリスナーを追加しています。
このリスナーがアプリケーションによるイベントのフックが行われている場合に、このアプリケーション処理と Nexaweb によって追加されているリスナーと送還的に処理されるため JToggleButton を正しく押すことができませんでした。
10270
ネストしたレイアウトペインでは menus がラップされない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象<menuBar/>
事象
内容
Nexaweb Platform 4.5.20 で追加されたメニューの自動ラッピング機能がネストしているレイアウトマネージャの中で <menuBar/> が 使用された場合に正しく機能しません。
修正
内容
ネストしたレイアウトマネージャの中で <menuBar/> が使用される場合にも正しく時度ラッピングが機能するように修正。
10275
互換性 : サーバから XModify が処理さいているときフォーカスが正しく設定されない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象XModify によってフォーカスがあらかじめ設定されている UI コンポーネントを画面に追加した場合。
事象
内容
フォーカスが設定済み(focused="true" を保持している) UI コンポーネントを XModify によって画面に追加した場合に、 追加された UI コンポーネントがフォーカスを保持した状態で画面に追加されない。
修正
内容
フォーカス設定済みの UI コンポーネントが XModify によって画面に追加された場合にフォーカスを保持した状態が追加されるように修正。
この問題は 102641026510267 と関連する問題になります。
この問題に対する直接的な修正は行われておらず、関連している問題を修正することによってこの問題も修正されました。
10279
menu が次の行にラップされていると popupMenu が動かない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象メニューの自動ラッピング機能が有効な状態の <menuBar/>
事象
内容
既に自動ラッピング機能が有効な状態の <menuBar/> からメニューを開き、メニューのポップアップが開いている状態でウインドウ幅を狭くした場合に、 メニューのポップアップの表示位置が移動しない。
修正
内容
ウインドウリサイズ時にメニューのポップアップの表示位置を変更するように修正。
10280
互換性 : treeTable で利用される link 要素が正しく表示されない
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.20~
対象<cell/> の変わりにサイズ指定のない <link/> を使用している <treeTable/>
事象
内容
<treeTable/> の中で <link/> を使用している場合、 <link/> の縦幅が狭くなってしまう。
Nexaweb Platform 4.5.19 と比較して縦幅が狭くなり、 <link/> で表示されるアンダーラインが表示されない。
修正
内容
<treeTable/> の中の <link/> のサイズを正しく計算するように修正。
この問題は、 Nexaweb Platform の 9901 の修正によって生じるようになった互換性問題になります。
9901 によってテーブル内の <cell/> 以外の UI コンポーネントのサイズの自動計算が行われるようになっており、この処理が <treeTable/> の中で使用される <link/> のサイズを計算する際に間違った計算結果を返していたためこの問題が起こりました。
10281
ui-test を false にすると ClassCastException が発生する
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.21(Internal)
対象nexaweb-client.xml で /client-app/ui-test を ture に設定しており、アプリケーションの中で SwingBridge を使用している場合。
事象
内容
nexaweb-client.xml で /client-app/ui-test を ture に設定している場合に使用されるテスト用の jar ファイルを使用していると ClassCastException が発生する。
修正
内容
この問題は、ビルド環境の問題によって発生していました。
10206 の修正によって基底クラスの修正が行われましたが、この変更内容を反映した jar ファイルをビルド環境で正しく作成することができていなかったためこの問題が起こりました。
ビルド環境を修正してこの問題を解決しました。
この問題は本バージョンで修正された 10206 の実装課程で内部的に生じた問題になります。
このため、この問題が発生する過去バージョンは存在しません。
10282
互換性 : 複雑な画面を表示するときに CPU の負荷が高まる
環境
OS:全て
ブラウザ:全て
JVM:全て
Nexaweb Platform:4.5.21(Internal)
対象レイアウトマネージャを使用して複雑にネストした UI コンポーネント全て
事象
内容
複雑にネストした画面を使用している場合に CPU 負荷が高くなる。
修正
内容
この問題は、画面の構成よそによって不要な計算処理がループすることによって発生していました。
不要な計算処理がループしないように修正。
この問題は本バージョンで修正されたいくつかの問題の実装課程で内部的に生じた問題になります。
このため、この問題が発生する過去バージョンは存在しません。