4.5.22 (Dec 2008)
新しい機能 (Java)
cell に autoWrap 属性と autoWrapType 属性を追加
これらの属性を設定することで、cell のテキストの複数行表示が可能となります。
機能改善 (Java)
richText属性が true に設定された UI コンポーネントで全角スペースを利用することができる
過去のバージョンでは、 richText 属性が true に設定された UI コンポーネント上で全角スペースを表現するための手段はありませんでした。
本バージョンより、リッチテキストの中で全角スペースを表現するために文字参照として「 」を利用することができるようになりました。
ただし、「 」は通常入力される全角スペースとは文字コードが異なります。
また、使用するフォントによっては、「 」による全角スペースの表示がサポートされていない場合があることに注意してください。
メモリとCPUについてパフォーマンスを向上
振る舞いの変更 (Java)
ClientEvent オブジェクトが null クリアされるようになります。
本バージョンより、 ClientEvent オブジェクトの振る舞いが変更されました。
従来は EventHandler#getClientEvent() にて取得可能な ClientEvent オブジェクト は次のイベントが発生するまでクリアされませんでした。
しかしながら、メモリ使用効率を向上するために本バージョンより ClientEvent オブジェクトはイベント呼び出しの後にクリアされるようになりました。
※修正の詳細は 10247 を参照ください。
このため、本バージョンより以下の場合に EventHandler#getClientEvent() で取得可能な ClientEvent が null になるケースがあります。
イベント呼び出しスレッド以外で EventHandler#getClientEvent() を使用した場合。
イベント呼び出しスレッドから、 EventHandler#fireEvent() を呼び出した後にEventHandler#getClientEvent() を使用した場合。
有効な ClientEvent オブジェクトへの参照をイベント呼び出しスレッド以外の処理で使用した場合。
EventHandler#getClientEvent() にて取得可能な ClientEvent オブジェクトの値はイベント呼び出しの処理が終了した後では取得される値について保証されません。
このため、イベント処理スレッド以外で ClientEvent を使用している場合、従来のバージョンから ClientEvent の内容については保証されていません。
ただし、従来のバージョンでは、 EventHandler#getClientEvent() を使用して取得可能な ClientEvent は前回のイベントの内容が保持されていたため、基本的には null になることはありませんでした。
この振る舞いの変更で問題が生じる可能性がある場合、Nexaweb Platform 4.5.24 の 10351 により導入された互換性のオプションを使用してください。
修正項目 (Java)
機能追加 : cell のオートラップ機能の追加 | |
gridTable: gridTable で row を削除したとき ClassCastException が発生する | |
gridTable: gridTable で MCO によって row を削除したとき ClassCastException が発生する | |
gridTable: gridTable で row を削除したときモメリリークが起きる | |
レイアウトペインでウィジェットを削除したときモメリリークが起きる | |
gridTable: footerRow で cell 以外のウィジェットを使うと CPU の負荷が高まる | |
tree の要素に対し replace-children を行うと ArrayIndexOutOfBoundsException が発生する | |
richText で全角スペースが使えない | |
cell の selected 属性を true に設定ても表示が selected の状態にならない | |
gridTable: gridTable が lockedColumn を持つとき水平方向にスクロールすると CPU の負荷が100%となる | |
ウィンドウをリサイズしたときに popupMenu がその親メニューから離れて表示される | |
互換性 : comboBoxo が持つ listBox で ActiveLost イベントが発生しない | |
互換性 : menuItem のショートカットが動作しない |
修正の詳細 (Java)
10231 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cell のオートラップ機能の追加 | |||||||||||||
対象 | <cell/> | ||||||||||||
機能 | <cell/> 上で autoWrap 属性と autoWrapType 属性を正式サポート。 | ||||||||||||
10232 | |||||||||||||
gridTable: gridTable で row を削除したとき ClassCastException が発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 | <gridTable/> から XModify を使用して <row/> データを削除した場合に ClassCastException 例外が発生してしまう。 | ||||||||||||
修正 | <gridTable/> から XModify を使用して <row/> データを削除しても ClassCastException 例外が発生しないように修正。 | ||||||||||||
10240 | |||||||||||||
gridTable: gridTable で MCO によって row を削除したとき ClassCastException が発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 | <gridTable/> から MCO を使用して <row/> データを削除した場合に ClassCastException 例外が発生してしまう。 | ||||||||||||
修正 | <gridTable/> から MCO を使用して <row/> データを削除しても ClassCastException 例外が発生しないように修正。 | ||||||||||||
10245 | |||||||||||||
gridTable: gridTable で row を削除したときモメリリークが起きる | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 | <gridTable/> から <row/> データを削除するとメモリリークが発生してしまう。 | ||||||||||||
修正 | <gridTable/> から <row/> データを削除してもメモリリークが発生しない要に修正。 | ||||||||||||
10247 | |||||||||||||
レイアウトペインでウィジェットを削除したときモメリリークが起きる | |||||||||||||
環境 |
| ||||||||||||
対象 | ClientEvent オブジェクトのスコープ | ||||||||||||
事象 | この問題は厳密にはメモリリークではありません。 ClientEvent オブジェクトはイベント発生元の情報を保持しているため、イベント処理によってイベント発生元を含む XML Element データを削除した場合に、 ClientEvent オブジェクト内に削除された Element への参照が残ります。 | ||||||||||||
修正 | この問題を解決するために、 ClientEvent オブジェクトをイベント呼び出し処理が終了した後にクリアするように修正しました。
| ||||||||||||
10248 | |||||||||||||
gridTable: footerRow で cell 以外のウィジェットを使うと CPU の負荷が高まる | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 | <gridTable/> の中で <footerRow/> を使用し、 <footerRow/> の中で <cell/> 以外の UI コンポーネントを使用した場合に CPU 負荷が高くなり、メモリ使用量が増加し続ける。 | ||||||||||||
修正 | <gridTable/> の中で <footerRow/> を使用し、 <footerRow/> の中で <cell/> 以外の UI コンポーネントを使用しても CPU 負荷の不要な増加、 およびメモリ使用量の増加が起こらないように修正。 | ||||||||||||
10249 | |||||||||||||
tree の要素に対し replace-children を行うと ArrayIndexOutOfBoundsException が発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | <tree/> | ||||||||||||
事象 | フォーカスを持っており、ノードが選択されている <tree/> に対して <tree/> 自身の onSelect もしくは onStateChange イベント呼び出しによって <tree/> の子エレメントを <replace-children/> コマンドで置換しようとした場合に ArrayIndexOutOfBoundsException 例外が発生する場合がある。 | ||||||||||||
修正 | ArrayIndexOutOfBoundsException 例外が発生しないように修正。 | ||||||||||||
10250 | |||||||||||||
richText で全角スペースが使えない | |||||||||||||
環境 |
| ||||||||||||
対象 | richText 属性を指定可能な UI コンポーネントの全て | ||||||||||||
事象 | richText 属性が true の場合にテキスト値として全角スペースを表示することができなかった。 | ||||||||||||
修正 | 表示上の全角スペースを実現するための文字参照として「 」を使用できるように修正しました。 | ||||||||||||
10272 | |||||||||||||
cell の selected 属性を true に設定しても表示が selected の状態にならない | |||||||||||||
環境 |
| ||||||||||||
対象 | <cell/> 以外の UI コンポーネントが <cell/> の変わりに使用されており、 selectionMode 属性が "multiCell" もしくは "singleCell" に設定されており、 初期表示時にいずれかの <cell/> が selected 属性値として "true" を持っている <table/>, <treeTable/>, <gridTable/> | ||||||||||||
事象 | 初期表示時に selected 属性値が "true" に設定されている <cell/> が選択状態として表示されなければならないが、 <cell/> が選択状態にならない。 | ||||||||||||
修正 | selected 属性値が "true" に設定されている <cell/> が存在している場合、必ず選択状態として表示されるように修正。 | ||||||||||||
10278 | |||||||||||||
gridTable: gridTable が lockedColumn を持つとき水平方向にスクロールすると CPU の負荷が100%となる | |||||||||||||
環境 |
| ||||||||||||
対象 | <lockedColumn&/gt; をカラムデータとして持っており、横スクロールバーが表示されている <gridTable/> | ||||||||||||
事象 | <lockedColumn&/gt; をカラムデータとして持っている <gridTable/> を横スクロールバーにて横スクロールした場合に CPU 負荷が 100% になってしまう。 | ||||||||||||
修正 | CPU 負荷が不要に上がらないように修正。 | ||||||||||||
10284 | |||||||||||||
ウィンドウをリサイズしたときに popupMenu がその親メニューから離れて表示される | |||||||||||||
環境 |
| ||||||||||||
対象 | <menu/> によって表示されるポップアップメニュー | ||||||||||||
事象 | <menu/> によって表示されるポップアップメニューが開いている状態で、ブラウザウインドウをリサイズするとポップアップメニューの表示位置が <menu/> の表示位置に伴って自動的に移動しない。 | ||||||||||||
修正 | <menu/> がブラウザウインドウのリサイズによって移動した場合、 <menu/> によって表示されているポップアップメニューも一緒に移動するように修正。 | ||||||||||||
10286 | |||||||||||||
互換性 : comboBox が持つ listBox で ActiveLost イベントが発生しない | |||||||||||||
環境 |
| ||||||||||||
対象 | <comboBox/> の中の <listBox/> に onActiveLost イベントが設定されている場合。 | ||||||||||||
事象 | <comboBox/> の中の <listBox/> の onActiveLost イベントが Nexaweb Platform 4.5.20 以上を使用した場合、発生しなくなりました。 | ||||||||||||
修正 | <comboBox/> の中の <listBox/> の onActiveLost イベントが発生する用に修正。 | ||||||||||||
10287 | |||||||||||||
互換性 : menuItem のショートカットが動作しない | |||||||||||||
環境 |
| ||||||||||||
対象 | <menuItem/> のショートカットキー | ||||||||||||
事象 | <menuItem/> に shortcut 属性を使用してショートカットキーを設定している場合に、一度でもショートカットキーを設定している <menuItem/> を開いた場合、以後ショートカットキーが効かなくなってしまう。 | ||||||||||||
修正 | <menuItem/> を開いた後でもショートカットキーが有効になるように修正。 | ||||||||||||