4.5.24 (Feb 2009)
新しい機能 (Java)
tabPane の新しいスクロールボタン
Nexawebアプリケーションが起動しているブラウザのウィンドウをリサイズしたとき、tabPaneに含まれるタブの一部が隠れることがありま す。こ のとき、スクロールボタンが表示され、隠れた部分をスクロールして表示させることができます。このスクロールボタンは、大きく、見やすく、操作しやすく なっており、スタイル設定(stylable)の影響は受けなません。スクロールボタンは、 tabPane の内側に left/right で top/buttom に表示されます。
リサイズ時のふるまい:ウィンドウをリサイズしたとき、選択されている tab は常に表示される。これまでは、tabPane に最初の tab から順番に表示されていたため、リサイズの状態によっては、 tab が隠れることがあった。
スタイル:スクロールボタンの class 名は、tabButtonLeft、tabButtonRight、 tabButtonUp、tabButtonDown となります。
新しいジェネリックブリッジ
ジェネリックブリッジにより、オブジェクトとのブリッジとプロパティの設定を簡素化しました。
GenericContainerBridge クラスを拡張したカスタムブリッジについて、どのプロパティも設定することができます。OGNL形式をフルサポートしています
このブリッジを使うことで、 java.awt.Container を拡張した UIコンポーネントを xal の新しいエレメントとして、Javaのコードを記述することなく利用することができます
xal の新しいエレメントとして、component と property が追加されました。新しい package である com.nexaweb.client.bridges.xal.generic も追加されました。この package には、GenericComponentBridge と GenericContainerBridge が含まれます
機能改善 (Java)
次世代 Java プラグインに関連する改良
Java SE 6 の次世代プラグインが利用されているとき、モーダルダイアローグを追加すると複数回フラッシュします。また、キーボードの入力に反応しなくなります。この2つの問題に対応しています。
keep-last-client-event エレメントを nexaweb-client.xml に追加
このエレメントには、クライアントでの最新のイベントを記憶するかどうかを指定します。このエレメントは、レガシーなアプリケーションで必要となる場合があり追加されました。デフォルト値は、 false です。
修正項目 (Java)
712-5302944 - RequestService().openBrowser(url) はパラメータをひとつだけとる | |
JRE1.6.0_10 との互換性: Java SE 6 の次世代プラグインが利用されているとき、キーボードの入力に反応しなくなる | |
JRE1.6.0_10 との互換性: Java SE 6 の次世代プラグインが利用されているとき、モーダルダイアローグを追加すると複数回フラッシュする | |
gridTable の互換性: cell でないウィジェットがマウスのクリックに正しく反応しない | |
Nexaweb アプリケーションがアプリケーションサーバで、正常にアンデプロイされない | |
gridTable: rowSpan や colSpan を使って結合した cell がソートされる | |
互換性についての要求項目: ClientEvent に null を設定しない | |
互換性: Nexaweb のウィジェットから Swing ウィジェットにフォーカスが移ったとき onBeforeActiveLost イベントが発生しないといけない | |
互換性: MCO によって disabled 属性が変更されたときウィジェットが disabled にならない | |
Nexawebアプリケーションが停止したとき、LogConsumerQueueProcessor スレッドが破棄されない | |
tabPaneのスクロール: スクロールボタンが最後のタブまで表示しない | |
tabPaneのスクロール: すべてのタブが表示されていてもボタンが表示されたままとなる | |
tabPaneのスクロール: tabOverlap 属性を設定してもスクロールボタンの表示が変わらない | |
tabPaneのスクロール: tab を直接追加したときにスクロールボタンが表示されない | |
tabPaneのスクロール: tab が最後まで表示されているときスクロールボタンを disable にする | |
tabPaneのスクロール: 表示されていない tab があるにもかかわらずスクロールしなくなる | |
BTH-781049 table の属性を変更したときにデッドロックとなる | |
tabPaneのスクロール: replace-children で ArrayIndexOutOfBoundsException が発生する | |
互換性: horizontalToolBar や verticalToolBar にあるウィジェットで例外が発生する | |
tabPaneのスクロール: 追加した tab の一部が表示されたときにスクロールボタンが表示されない | |
互換性: column のソート属性を指定すると例外が発生する | |
互換性: com.nexaweb.client.component.treetable.NTableCrossSection.fire11PropertyChange で NullPointerException が発生する | |
tabPaneのスクロール: tabPane が horizontalFlowPane の子要素とき、tab が動き続ける | |
table 内の cell の tooltip の表示位置がマウスの位置に追随しない | |
tabPaneのスクロール: ブラウザでスクロールボタンが正しく表示されない | |
tabPaneのスクロール: 選択されている最後の tab が表示されない | |
tabPaneのスクロール: MS JVM で NoSuchMethodError が発生する | |
tabPaneのスクロール: 左のスクロールボタンが enabled になるべきときに disabled となる | |
tabPaneのスクロール: 右のスクロールボタンが disabled になるべきときに enabled となる | |
tabPaneのスクロール: 右のスクロールボタンが enabled になるべきときに disabled となる | |
tabPaneのスクロール: すべての tab が表示されているのにスクロールボタンが表示される |
修正の詳細 (Java)
8995 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
712-5302944 - RequestService().openBrowser(url) はパラメータをひとつだけとる | |||||||||||||
環境 |
| ||||||||||||
対象 | 以下の条件を全て満たしている場合。
| ||||||||||||
事象 | 複数のパラメータを URL として指定している場合、全てのパラメータが正しく指定された状態でブラウザを開くことができない。 | ||||||||||||
修正 | Standalone Client を使用している場合に、複数パラメータを URL に指定して openBrowser() メソッドを使用した場合に、全てのパラメータが正しく指定された状態でブラウザを開くように修正。 | ||||||||||||
10276 | |||||||||||||
JRE1.6.0_10 との互換性: Java SE 6 の次世代プラグインが利用されているとき、キーボードの入力に反応しなくなる | |||||||||||||
環境 |
| ||||||||||||
対象 | JRE 1.6.0_10 以上を使用しており、「次世代 Java Plug-in」が有効な場合に、 DisplayService API の modalAlert(), modalCustomButtonAlert(), modalInputAlert() メソッドを使用している場合。 | ||||||||||||
事象 | DisplayService API の modalAlert(), modalCustomButtonAlert(), modalInputAlert() メソッドによって表示されるモーダルアラート上で、キーボードオペレーションが有効でなくなる。 | ||||||||||||
修正 | モーダルアラート上でキーボードオペレーションが有効になるように修正。 | ||||||||||||
10290 | |||||||||||||
JRE1.6.0_10 との互換性: Java SE 6 の次世代プラグインが利用されているとき、モーダルダイアローグを追加すると複数回フラッシュする | |||||||||||||
環境 |
| ||||||||||||
対象 | JRE 1.6.0_10 以上を使用しており、「次世代 Java Plug-in」が有効な場合に、 DisplayService API の modalAlert(), modalCustomButtonAlert(), modalInputAlert() メソッドを使用している場合。 | ||||||||||||
事象 | DisplayService API によって表示されるモーダルアラートのタイトルバーが複数回にわたって点滅する。 | ||||||||||||
修正 | モーダルアラートの点滅を回数を抑制するように修正。 | ||||||||||||
10329 | |||||||||||||
gridTable の互換性: cell でないウィジェットがマウスのクリックに正しく反応しない | |||||||||||||
環境 |
| ||||||||||||
対象 | セルデータとして <cell/> ではなく、 <checkBox/> などの通常の UI コンポーネントが使用されている <gridTable/> のデータを一度削除して、データを追加した場合。 | ||||||||||||
事象 | データを一度削除した後に、データを追加した場合、追加されたデータの <cell/> 以外の UI コンポーネントに対してマウスオペレーションが有効でなくなる。 | ||||||||||||
修正 | データ削除後に、追加されたデータに対してもマウスオペレーションが有効になるように修正。 | ||||||||||||
10332 | |||||||||||||
Nexaweb アプリケーションがアプリケーションサーバで、正常にアンデプロイされない | |||||||||||||
環境 |
| ||||||||||||
対象 | サーバースレッド : LogConsumerQueueProcessor(com.nexaweb.common.log.ConsoleLogConsumer) | ||||||||||||
事象 | アプリケーションサーバーのホットデプロイ機能(サーバーを再起動せずにアプリケーションのアンデプロイ/デプロイが可能な機能。ホットデプロイメントな どメーカによって表記が異なる可能性があります)を使用して Nexaweb アプリケーションが含まれる war/ear ファイルをアンデプロイ/デプロイしようとした場合に、 Nexaweb アプリケーションを正常にアンデプロイすることができない。 | ||||||||||||
修正 | アンデプロイ時に LogConsumerQueueProcessor(com.nexaweb.common.log.ConsoleLogConsumer) スレッドが正常に終了するように修正。 | ||||||||||||
10336 | |||||||||||||
gridTable: rowSpan や colSpan を使って結合した cell がソートされる | |||||||||||||
環境 |
| ||||||||||||
対象 | 結合セルをデータとして保持している <gridTable/> | ||||||||||||
事象 | 結合セルを含むデータを保持している <gridTable/> ではテーブルデータのソート機能が無効になる仕様であるが、テーブルデータをソートすることができてしまう。
通常、結合セルがテーブルデータに含まれる場合、上記の仕様に則りテーブルデータをソートすることはできませんが、以下の場合にテーブルデータをソートすることができてしまう。
| ||||||||||||
修正 | <gridTable/> のソート機能の有効/無効を判断する処理を以下の場合にも追加し、結合セルを含むテーブルデータが存在する場合に必ずテーブルデータがソートされないように修正。
| ||||||||||||
10351 | |||||||||||||
互換性: ClientEvent に null を設定しない | |||||||||||||
環境 |
| ||||||||||||
対象 | ClientEvent オブジェクトのスコープ | ||||||||||||
事象 | Nexaweb Platform 4.5.22MR の 10247 の修正のために、イベント処理を行うメソッドの実行が終了した後に EventHandler API の getClientEvent() で参照される ClientEvent オブジェクト自身をクリアする振る舞いの変更によって既存プログラムで参照していた ClientEvent オブジェクトが null になる。 | ||||||||||||
修正 | ClientEvent の扱いが 4.5.21 以前と同様になるように修正。 /client-app/keep-last-client-event
4.5.21 以前と同じ振る舞いを期待する場合には「true」を指定してください。 keep-last-client-event が nexaweb-client.xml 内に存在しない、あるいは無効な設定値が設定されている場合のデフォルトの振る舞いは「false」になります。 指定の詳細な内容については 4.5.24 に同梱される nexaweb-client.xml を参照ください。 nexaweb-client.xml の設定例(抜粋)
| ||||||||||||
10352 | |||||||||||||
互換性: Nexaweb のウィジェットから Swing ウィジェットにフォーカスが移ったとき onBeforeActiveLost イベントが発生しないといけない | |||||||||||||
環境 |
| ||||||||||||
対象 | SwingBridge を使用して SwingBridge とマッピングされるタグに onBeforeActiveLost イベントを設定している場合。 | ||||||||||||
事象 | SwingBridge によって作成されている UI コンポーネントからフォーカスが失われた場合に onBeforeActiveLost イベントが発生しなくなる。 | ||||||||||||
修正 | この問題は、 Nexaweb Platform 4.5.21MR の 10269 の修正によって生じるようになった互換性問題になります。 | ||||||||||||
10353 | |||||||||||||
互換性: MCO によって disabled 属性が変更されたときウィジェットが disabled にならない | |||||||||||||
環境 |
| ||||||||||||