4.5.20 (Nov 2008)

4.5.20 (Nov 2008)

機能改善 (Java)

Swing plug-in コンポーネントサポート

  • Swing plug-in コンポーネントが Nexaweb コンポーネントと重なっており、Swing plug-in コンポーネントが Nexaweb コンポーネントの後ろ(背面)に存在する場合、 Swing plug-in コンポーネントの描画は Nexaweb コンポーネントの上に描画されてしまうかもしれません。この問題を解決するための修正が4.5.17の修正に加えて 4.5.20にて行われました。

  • Swing plug-in コンポーネントがフォーカスを持っている場合、キーイベントが発生する用になりました。

メニューの自動ラッピングが可能になりました

borderPane内のmenuBarがborderPostion属性値として”north”, “center”, “south”が設定されている場合、ブラウザの表示領域によってはメニューが全て表示されないケースがありました。メニューが全て表示されないケースに おいて、自動的にラッピングすることによりメニューを全て表示できるようになりました。

メモリリークの問題を解決しました

DisplayService#modalCustomButtonAlert() メソッドを使用している場合、メモリリークが起こっていました。この問題を解決しました。

Test API の改善

  • ApplicationScriptObject が提供するfindObject() とobjectExists() が Swingのプラグインコンポーネントと連携できるようになりました

  • ButtonScriptObject の新しいメソッド clickAndWait() によって、ボタンをクリックしたときのイベントハンドラでテストスクリプトのつぎの行を実行する前にテストを終了させることができます。この機能によっ て、ボタンをクリックしたときに実行されるXModifyの処理のタイミングに関する問題を解決することがでます

  • プラグインオブジェクトがテストされる場合、オブジェクトの要素の定義が参照され、テストスクリプトオブジェクトマネージャは、その オブジェクトをラッピングしたテストスクリプトを生成します。プラグインオブジェクトが持つ属性は、setAttributeInDom() とgetAttributeFromDom() によって参照することができます

振る舞いの変更 (Java)

フォーカスコントロールについて

このバージョンで Java アプレット自身がフォーカスを失った場合に Nexaweb UI コンポーネントもフォーカスを失う修正が行われました。
この結果、以下の場合に Nexaweb UI コンポーネント上でフォーカスイベントが発生する用になりました。

  • ブラウザウインドウ自身のアクティブ/非アクティブが切り替えられた場合。

  • ブラウザウインドウ内で、非アプレット領域にフォーカスを移動した場合。 例えば、ブラウザのアドレスバーやメニューバーなど。

この振る舞いは、 AWT, Swing, Windows UI などの一般的な振る舞いになります。
過去バージョンの Nexaweb アプリケーションではアプレット自身がフォーカスを失った場合でも Nexaweb UI コンポーネントはフォーカスイベントを発生させていませんでした。
この振る舞いの変更は 10102101041019210202 の修正に伴い、製品仕様の見直しを行った結果生じた振る舞いの変更になります。

この振る舞いの変更で問題が生じる可能性がある場合、Nexaweb Platform 4.5.28 の 10526 により導入された互換性のオプションを使用してください。

Swing コンポーネントからのイベント通知

このバージョンで Swing コンポーネントを使用した場合の大幅な変更が行われました。
過去バージョンでは Swing コンポーネント上で発生したイベントは Nexaweb アプリケーションからフックすることはできませんでしたが、 このバージョンから Swing コンポーネント上で発生したイベントも全て Nexaweb アプリケーションからフックすることができるようになりました。
アプリケーションの実装としてイベントをフックする処理が存在している場合、このバージョンから Swing コンポーネント上で発生するイベントもフックされる点に注意してください。

修正項目 (Java)
 

8708

712-4987982 - ウィンドウをリサイズしたときにmenuBar がラップされない

9790

test api: testidを設定しているtable, tree, treeTable がテストできない

9887

test api: XModify と objectWithIdExists(), findObjectById() などのテストに関連するメソッドを利用したときにタイミングの問題が生じる

9895

column をドラッグすると垂直方向のスクロールバーがいっしょに動く

9901

table が持つウィジェットが、表示する文字列の長さによって自動的にリサイズされるときスクロールバーの長さが同時に調整されない

9913

テキストを入力するときのラッピングの動作が統一されていない

9914

table のheader がドラッグ&ドロップで移動したとき、ボーダーラインが残ったままとなる

9959

test api: findObjectById() や objectWithIdExists() がプラグインコンポーネントで正しく動作しない

9960

test api: findObject() がXPath を使用するプラグインコンポーネントで正しく動作しない

9961

test api: findObject() やobjectExists() がベースオブジェクトや XPath を使用するプラグインコンポーネントで正しく動作しない

10022

table のcolumn をドラッグ&ドロップすると、水平方向のスクロールバーが動き、意図した位置に移動できない

10031

IME を起動したときテキストが入力できずキーボードの制御がIMEに移ったままとなる

10070

空のXModify を実行すると例外が発生する

10071

horizontalAlignment を "center" にしたとき、テキストの位置が正しく表示されないことがある

10101

Swing : JTextPane がフォーカスを持っている場合にショートカットキーが有効ではない

10102

Swing : 文字入力が可能なSwing コンポーネントがフォーカスを持っている場合 Nexaweb のグローバルキーイベントが発生しない

10104

Swing : Nexaweb のtextField からJScrollPane のJTextPane inside にカーソルを移動してゆくと、ひとつの画面に2つのアクティブなカーソルが表示される

10125

gridTable: table のタブオーダー(タブの移動)と異なる

10169

test api: クリックするとonCommand が2回呼ばれ、そのためテストIDが1つインクリメントされる

10190

gridTable: 別のcellが選択される

10191

Swing : ウィジェットを移動したときSwing のコンポーネントがNexaweb のコンポーネントの上に重なって表示される

10192

Swing : Swingコンポーネントでクリックしたとき、Nexaweb のポッブアップメニューが閉じない

10195

モーダルダイアログが表示されたとき、comboBox のボタンが押下したときの色のままとなる

10196

DisplayService のmodalCustomButtonAlert() を呼び出した後、OutOfMemoryError が発生する

10198

Swing : window が Swing コンポーネントを持つとき、マウスオーバーでNexaweb のコンポーネントの全面に表示される

10199

マウスホイールで table がスクロールできないことがある

10201

gridTable: gridTable の editor でテキストの配置が table と異なる

10202

window がフォーカスを持っていないときにテキスト入力のキャレットがブリンクする

10204

マウスとキーボードショートカットを使って削除したテキストが、消えないで再び表示される

10251

互換性 : column をリサイズしたときに NullPointerException が発生する

10256

gridTable: lockedColumn にcell以外のウィジェットを利用すると正しく動作しない


修正の詳細 (Java)

XModify によるコマンド(<append/>, <replace-children/> など)の中でコマンドタグの子要素を指定するコマンド

8708

712-4987982 - ウィンドウをリサイズしたときにmenuBar がラップされない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

全てのメニューを表示することができない <menuBar/>

事象
内容

<menuBar/> の中のメニューを表示幅内で全て表示することができなかった場合、メニューが切れて表示されてしまう。

修正
内容

<menuBar/> に幅の指定が存在せず、リサイズが可能なレイアウトマネージャ上に <menuBar/> が配置されている場合に、 <menuBar/> の自動ラッピング機能を追加。

9790

test api: testidを設定しているtable, tree, treeTable がテストできない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

Test API

事象
内容

testid オプションを有効にしている状態で Test API を使用して <table/>, <tree/>, <treeTable/> をテストしようとした場合、 例外が発生しアプリケーションを正常に稼働することができない。

修正
内容

testid オプションを有効にして Test API を使用した場合に例外が発生せずに正常にアプリケーションを稼働することができるように修正。

9887

test api: XModify と objectWithIdExists(), findObjectById() などのテストに関連するメソッドを利用したときにタイミングの問題が生じる

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

Test API

事象
内容

XModify による更新後に Test API を使用して objectWithIdExists(), findObjectById() を使用するとタイミングによってオブジェクトを取得できない場合がある。

修正
内容

XModify による更新後に Test API の objectWithIdExists(), findObjectById() にて正しくオブジェクトを取得できるように修正。

9895

column をドラッグすると垂直方向のスクロールバーがいっしょに動く

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

<table/>, <treeTable/>

事象
内容

テーブルのカラムをマウスドラッグによって入れ替えようとすると、縦スクロールバーが不要にスクロールする。

修正
内容

カラムドラッグ時に縦スクロールバーが不要にスクロールしないように修正。

9901

table が持つウィジェットが、表示する文字列の長さによって自動的にリサイズされるときスクロールバーの長さが同時に調整されない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

<cell/> 以外の UI コンポーネントを使用している <table/>, <treeTable/>, <tree/>

事象
内容

テーブルのカラム幅はカラム自身に明示的に幅が指定されていない場合はカラムに所属しているデータの文字列長で自動的に調整されるが、カラムに所属してい るデータが <cell/> 以外の UI コンポーネントであった場合、 自動的に列幅が調整されない。

修正
内容

<cell/> 以外の UI コンポーネントをテーブル内で使用している場合に文字列長によって自動的にカラム幅を調整するように修正。

9913

テキストを入力するときのラッピングの動作が統一されていない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

<textArea/>

事象
内容

<textArea/> 内でコンポーネント幅よりも長い文字列を入力した場合に自動ラッピング機能によって入力文字列が自動的にラップされるが、 入力方法によって同じ文字列を入力した場合であってもラップされた結果が異なる場合がある。
具体的には、以下のオペレーションが入力中に行われた場合と行われなかった場合に自動ラッピングによるラップの結果が異なる。

  • 入力中に入力済みの文字列の一部を選択して "Delete" キーによって入力済みの文字を削除し入力を継続した場合と "Delete" キーを押さずに入力を継続し選択文字列が上書き削除された場合。

修正
内容

入力方法、オペレーションの内容によって自動ラッピングの結果が異ならないように自動ラッピングの処理を修正。

9914

table のheader がドラッグ&ドロップで移動したとき、ボーダーラインが残ったままとなる

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

<table/>, <treeTable/>

事象
内容

テーブルのカラムヘッダをマウスによってドラッグアンドドロップで移動する際のドラッグ中に列の移動位置を表現するためにテーブル内にカラムを表現するた めのボーダーラインが表示されるが、 横スクロールが発生する形でカラムヘッダの移動を行った場合にボーダーラインが残ったままになる場合がある。

修正
内容

移動位置を表現するためのボーダーラインが残らないように修正。

9959

test api: findObjectById() や objectWithIdExists() がプラグインコンポーネントで正しく動作しない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

Test API

事象
内容

プラグインアーキテクチャを使用して画面で利用されている UI コンポーネントを Test API の findObjectById() と objectWithIdExists() にて取得できない。

修正
内容

プラグインアーキテクチャによって組み込まれている UI コンポーネントも Test API から取得できるように修正。

9960

test api: findObject() がXPath を使用するプラグインコンポーネントで正しく動作しない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

Test API