Unify NXJ

JavaScript の使い方
こ の機能は、 Release10.5 以降で利用可能です。
こ のマ ニ ュ アルでは、 JavaScript ベースの コ ン ト ロ ールを作成 し て NXJ フ ォ ームに
追加する方法を説明 し ます。 JavaScript ベースの コ ン ト ロ ール と は、 実行時のユー
ザ イ ン タ フ ェ ースが JavaScript で記述 さ れてい る コ ン ト ロ ールです。 JavaScript
ベースの コ ン ト ロ ールには以下の 2 つの カ テ ゴ リ があ り ます。
• フ ォ ームの部品 と し て作成 さ れる コ ン ト ロ ール
• 再利用可能な ス タ ン ド ア ロ ー ン コ ン ト ロ ール
こ のマ ニ ュ アルでは、 それぞれの タ イ プの JavaScript ベースの コ ン ト ロ ールを作成
する作業について説明 し ます。
フ ォ ームのパーツ と し て作成する JavaScript コ ン ト ロール
こ のセ ク シ ョ ン では、 JavaScript を使 っ て NXJ フ ォ ームにデジ タ ル時計を追加する
例を示 し ます。 埋込み型 JavaScript コ ン ト ロ ールを作成する には、 以下の タ ス ク を
実行 し ます。
• タ ス ク 1: JavaScript ソ ース フ ァ イルの作成
• タ ス ク 2: JavaScript を フ ォ ームに配置す る
• タ ス ク 3: JavaScript に関連する プ ロパテ ィ を設定
• タ ス ク 4: ア プ リ ケーシ ョ ンの実行
1
タ ス ク 1: JavaScript ソ ース フ ァ イルの作成
最初に、 時計の関数宣言を含む JavaScript ソ ース フ ァ イルを作成 し ます。 NXJ ア プ
リ ケーシ ョ ン デザ イ ナで、 Static Content フ ォ ルダ を右 ク リ ッ ク し て、 新規作成 >
JavaScript を選択 し ます。 こ れは自動的に新 し い .js フ ァ イルを作成 し 、 開かれる
ので その フ ァ イルを使 っ て編集 し ます。
下の コ ー ド を コ ピ ー し て、 新 し い フ ァ イルに貼 り 付けます。
// Writes the current time in the clock <div>
function setClock()
{
var time = new Date();
var hours = time.getHours();
var minutes = time.getMinutes();
minutes=((minutes < 10) ? "0" : "") + minutes;
var seconds = time.getSeconds();
seconds=((seconds < 10) ? "0" : "") + seconds;
document.getElementById('clock').innerHTML =
hours + ":" + minutes + ":" + seconds;
//set a timer to change the clock every second
timer = setTimeout("setClock()",1000);
}
// Renders the clock <div> to the HTML document
function drawClock()
{
document.write("<div id='clock'></div>");
setClock();
}
こ れを保存 し て ‘clock’ に名前を変更 し ます。 .js 拡張子は、 NXJ ア プ リ ケーシ ョ ン
デザ イ ナに よ っ て追加 さ れます。 拡張子は、 表示 さ れたオ ブ ジ ェ ク ト 名には現れ
ません。
タ ス ク 2: JavaScript を フ ォ ームに配置する
時計を追加 し たい フ ォ ーム を開 き ます。 最初に、 コ ン ト ロ ールパ
レ ッ ト の JavaScript ボ タ ン を ク リ ッ ク し て、 次にデザ イ ンパネル
の フ ォ ームを ク リ ッ ク し ます。 こ の操作で、 フ ォ ームに コ ン ト
JavaScript ボ タ ン
Unify NXJ JavaScript の使い方
2
ロールを配置 し 、 ‘X’ と ボ ッ ク ス を使い中央に JavaScript と 書かれた様式で表示 さ
れます。 こ の コ ン ト ロ ールは、 Java ス ク リ プ ト の実行時の見え方を表現するので
はな く 、 フ ォ ームにスペース を確保す るサ イ ズ を設定 し ます。
タ ス ク 3: JavaScript に関連する プ ロパテ ィ を設定
3 つの コ ン ト ロ ールプ ロパテ ィ を使 っ て JavaScript コ ン ト ロ ールを設定 し ます。
Includes、 JavaScript、 Links です。
• Includes プ ロパテ ィ
JavaScript コ ン ト ロ ールの Includes プ ロパテ ィ の値の列を ク リ ッ ク し ます。
Select JavaScript Files ダ イ ア ロ グが表示 さ れるので、 フ ォ ームに呼び出 し た
い JavaScript を含む フ ァ イルを指定 し ます clock.js フ ァ イルを選択 し て、 矢
印 ボ タ ン を使 っ て含むの列に移動 し ます。 OK ボ タ ン を ク リ ッ ク し て、 ダ イ
ア ロ グ を閉 じ ます。
• JavaScript プ ロパテ ィ
JavaScript コ ン ト ロ ールの JavaScript プ ロパテ ィ の値の列を ク リ ッ ク し ます。
こ の操作は、 実行 し たい JavaSctipt を入力す る こ と ので き る JavaScript エデ ィ
タ を開 き ます。 多 く のサー ド パーテ ィ JavaScript コ ン ポーネ ン ト は、 オ ブ
ジ ェ ク ト の初期化 と 適切な HTML を表現する ための メ ソ ッ ド を持 っ ていま
す。 サン プルでは、 上記の drawClock() メ ソ ッ ド に よ っ て行われます。 こ れ
を呼び出すには、 ポ ッ プ ア ッ プ ダ イ ア ロ グに drawClick() を入力 し ます。
次に OK ボ タ ン を ク リ ッ ク し て、 プ ロパテ ィ の設定を保存 し ます。
Unify NXJ JavaScript の使い方
3
• Links プ ロパテ ィ
JavaScript コ ン ト ロ ールの Links プ ロパテ ィ の値の列を ク リ ッ ク し ます。 こ の
操作は、 Style Sheet フ ァ イルの ド ロ ッ プ ダウ ン リ ス ト を開き ます。 JavaScript
コ ン ポーネ ン ト が専用のス タ イルセ ッ ト を使 っ てい る場合、 フ ォ ームに含め
る ために こ こ にス タ イルセ ッ ト を追加する こ と がで き ます。 こ のサン プルは
追加の フ ァ イルを必要 と し ないため何 も 入力 し ません (定義済みス タ イルの
1 つ を使用す るか、 default.css フ ァ イルで新 し いス タ イルを定義す る こ と が
で き ます。)
タ ス ク 4: フ ォ ームの実行
最後に、 フ ォ ームを実行する と 、 時計が現在の時刻を示 し て フ ォ ーム上に現れま
す。
ス タ ン ド ア ローン JavaScript コ ン ト ロール
ス タ ン ド ア ロ ーン JavaScript コ ン ト ロ ールは、 NXJ ア プ リ ケーシ ョ ンの コ ン ポーネ
ン ト と し て使用で き ます。 ス タ ン ド ア ロ ー ン JavaScript コ ン ト ロ ールには、
JavaScript フ ィ ール ド コ ン ト ロ ール と JavaScript ト リ ム コ ン ト ロ ールの 2 種類があ
り ます。
• JavaScript フ ィ ール ド コ ン ト ロ ール : 値を持つ JavaScript フ ィ ール ド コ ン ト
ロ ールです。 NXJ プ ロ グ ラ ミ ン グ言語の観点か ら は、 テキス ト フ ィ ール ド な
どの他の フ ィ ール ド コ ン ト ロ ールに似ています。 JavaScript フ ィ ール ド コ ン
ト ロ ールの例 と し ては日付取得 コ ン ト ロ ールやス ピ ナ コ ン ト ロ ールがあ り ま
す。
Unify NXJ JavaScript の使い方
4
• JavaScript ト リ ム コ ン ト ロ ール : 値を持た ない JavaScript ト リ ム コ ン ト ロ ール
です。 NXJ プ ロ グ ラ ミ ン グ言語の観点か ら は、 行な どの他の ト リ ム コ ン ト
ロールに似ています。
JavaScript ベースの コ ン ト ロ ールは、 以下の 3 つの フ ァ イルで定義 し ます。
• JavaScript ソ ース フ ァ イル。
• オ プ シ ョ ンのグ ラ フ ィ カル JavaBean。 JavaBean は、 NXJ ア プ リ ケーシ ョ ン デ
ザ イ ナで コ ン ト ロ ールを描画 し 、 JavaScript を生成 し て ク ラ イ ア ン ト 上で コ
ン ト ロ ールを イ ン ス タ ン ス化す る ために使用 し ます。
• オ プ シ ョ ンの BeanInfo ク ラ ス。 BeanInfo は、 NXJ ア プ リ ケーシ ョ ン デザ イ ナ
を拡張 し て コ ン ト ロ ールの カ ス タ ムプ ロパテ ィ をサポー ト する ために使用 し
ます。
こ のマ ニ ュ アルでは、 JavaScript ベースの フ ィ ール ド コ ン ト ロ ールを例 と し て使用
し ます。 使用する コ ン ト ロ ールは、 ユーザが値を設定す る ために使用で き る ス ピ
ナオ ブ ジ ェ ク ト です。
JavaScript ベースの コ ン ト ロ ールを作成す る には以下の作業を実行 し ます。
• タ ス ク 1: JavaScript ソ ース を記述する
• タ ス ク 2: (オ プ シ ョ ン) グ ラ フ ィ カル JavaBean を作成す る
• タ ス ク 3: (オ プ シ ョ ン) BeanInfo を作成する
• タ ス ク 4: コ ン ポーネ ン ト を フ ォ ームや他の コ ン テ ナに配置す る
• タ ス ク 5: ア プ リ ケーシ ョ ンの実行
作業内容は以下のセ ク シ ョ ン で説明 し ます。
Unify NXJ JavaScript の使い方
5
タ ス ク 1: JavaScript ソ ース を記述する
JavaScript フ ァ イルには、 コ ン ト ロ ールを表すオ ブ ジ ェ ク ト の コ ン ス ト ラ ク タ があ
る こ と が必要です。 通常、 コ ン ス ト ラ ク タ には多 く の引数があ り ます。 こ れ ら の
引数には前後を囲む div の名称 も あ り ます。 コ ン ス ト ラ ク タ には以下の機能があ
り ます。
• 視覚的に表現 し た コ ン ト ロ ールを含める よ う に ド キ ュ メ ン ト を変更す る。 こ
れは、 document.write を呼び出すか div に内部 タ グ を設定す る と 実行で き ま
す。
• コ ン ト ロ ールに一連の メ ソ ッ ド を定義する。 こ れ ら の メ ソ ッ ド には getValue
と setValue があ り ます。 ま た、 すべての コ ン ト ロ ール専用プ ロパテ ィ で使用
で き る ゲ ッ タ と セ ッ タ も あ り ます。
ゲ ッ タ には引数がな く 、 プ ロパテ ィ の現在の値を返 し ます。 セ ッ タ には引数
が 1 つあ り ます。 プ ロパテ ィ の値です。 値が有効であれば true を返 し 、 値が
無効であれば false を返 し ます。
コ ン ト ロ ールが フ ィ ール ド の場合、 getValue/setValue メ ソ ッ ド のペア を定義
する必要 も あ り ます。 こ れ ら の メ ソ ッ ド には コ ン ト ロ ール専用プ ロパテ ィ の
ゲ ッ タ お よ びセ ッ タ と 同 じ シグニ チ ャ があ り ますが、 取得 し て設定す るのは
コ ン ト ロ ールの値です。
▼ JavaScript フ ィ ールド を 作成する ス テ ッ プ は、 以下のと おり で す。
1. NXJ ア プ リ ケーシ ョ ン デザ イ ナで フ ァ イル > プ ロ ジ ェ ク ト を開 く を選択 し 、
JavaScript コ ン ト ロ ールを含める プ ロ ジ ェ ク ト を開 き ます。
2. Classes フ ォ ルダ を右 ク リ ッ ク し て 新規作成 > JavaScript Field を選択 し 、 新
し い空の JavaScript フ ィ ール ド コ ン ト ロ ールを作成 し ます。
コ ン ト ロ ールが作成 さ れ、 デ フ ォ ル ト の名前が割 り 当て ら れます。 コ ン ト
ロ ール名を変更す る には、 プ ロ ジ ェ ク ト タ ブ で名前を右 ク リ ッ ク し て名前の
変更 を選択 し ます。
Unify NXJ JavaScript の使い方
6
コ ン テ ン ト パネルのデザ イ ン タ ブ に、 図のよ う な JavaScript プ レ イ ス ホルダ
コ ン ト ロ ールが表示 さ れます。
JavaScript タ ブ(ス テ ッ プ 3)
3. JavaScript タ ブ を ク リ ッ ク す る と JavaScript テ ン プ レ ー ト フ ァ イルが表示 さ れ
ます。
NXJ ア プ リ ケーシ ョ ン デザ イ ナで、 コ ン ト ロ ールの JavaScript フ ァ イルのデ
フ ォ ル ト のテ ン プ レ ー ト が作成 さ れます。 こ の フ ァ イルには コ ン ト ロ ール名
を名前に持つ コ ン ス ト ラ ク タ があ り 、 ア ン ダース コ アの代わ り にス ラ ッ シ ュ
と バ ッ ク ス ラ ッ シ ュ が使用 さ れています。 コ ン ス ト ラ ク タ には引数が 1 つあ
り ます。 div の名称です。
コ ン ト ロ ールが フ ィ ール ド の場合、 フ ァ イルに も 空の getValue メ ソ ッ ド と
setValue メ ソ ッ ド が含まれます。 コ ン ス ト ラ ク タ は メ ソ ッ ド を設定 し 、
registerComponent を呼び出 し ます。 コ ン ト ロ ールが ト リ ムの場合、 コ ン ス ト
ラ ク タ は registerComponent だけ を呼び出 し ます。
Unify NXJ JavaScript の使い方
7
4. 独自の コ ー ド を テ ン プ レ ー ト に追加 し ます。
例えば、 ス ピ ナ JavaScript 定義は以下のよ う にな り ます。
function Spinner(divName)
{
this.div = window.document.getElementById(divName);
if (this.div)
{
this.div.getValue = Spinner.prototype.getValue;
this.div.setValue = Spinner.prototype.setValue;
this.div.enterValue = Spinner.prototype.enterValue;
this.div.value = 0;
// add other code to create the element
var parentDiv;
if (this.div.parentNode)
parentDiv = this.div.parentNode;
Unify NXJ JavaScript の使い方
8
else if (this.div.parentElement)
parentDiv = this.div.parentElement;
var divWidth = parentDiv.style.width.slice(0,-2);
var index = document.images.length;
document.write(‘<table cellpadding=”0” cellspacing=”0” border=”0”><tr><td
rowspan=”2”>’);
document.write(‘<input style=”float: left; width: ‘ + (divWidth - 11) +
‘px” type=”text” name=”’ + divName + ‘input” id=”’ + divName + ‘input”>’);
document.write(‘</td><td>’);
document.write(‘<a href=”about:blank” ‘ +
‘onclick=”document.images[‘ + index + ‘]._sp.onClickUp(); return
false;” ‘ +
‘onmousedown=”document.images[‘ + index + ‘].src =
¥’../Static_Content/SpinnerUpPressed.png¥’;” ‘ +
‘onmouseup=”document.images[‘ + index + ‘].src =
¥’../Static_Content/SpinnerUpUnpressed.png¥’;” ‘ +
‘onmouseout=”document.images[‘ + index + ‘].src =
¥’../Static_Content/SpinnerUpUnpressed.png¥’;” ‘ +
‘id=”’ + divName + ‘up”>’);
document.write(‘<img src=”../Static_Content/SpinnerUpUnpressed.png” ‘ +
‘style=”width: 11px; height: 11px; border: none”>’);
document.write(‘</a></td></tr><tr><td>’);
document.write(‘<a href=”about:blank” ‘ +
‘onclick=”document.images[‘ + (index + 1) + ‘]._sp.onClickDown();
return false;” ‘ +
‘onmousedown=”document.images[‘ + (index + 1) + ‘].src =
¥’../Static_Content/SpinnerDownPressed.png¥’;” ‘ +
‘onmouseup=”document.images[‘ + (index + 1) + ‘].src =
¥’../Static_Content/SpinnerDownUnpressed.png¥’;” ‘ +
‘onmouseout=”document.images[‘ + (index + 1) + ‘].src =
¥’../Static_Content/SpinnerDownUnpressed.png¥’;” ‘ +
‘id=”’ + divName + ‘down”>’);
document.write(‘<img src=”../Static_Content/SpinnerDownUnpressed.png” ‘ +
‘style=”width: 11px; height: 11px; border: none”>’);
document.write(‘</a></td></tr></table>’);
document.images[index]._sp = this;
document.images[index + 1]._sp = this;
this.div.textField = document.all[divName + ‘input’];
}
}
Spinner.prototype.getValue = function()
{
return this.textField.value;
}
Spinner.prototype.setValue = function(value) {
this.textField.value = value;
}
Spinner.prototype.enterValue = function() {
// add code to get input value from the user
// We are using a standard text field as the main object in our
Unify NXJ JavaScript の使い方
9
// Javascript component, so this is not needed.
}
Spinner.prototype.onClickUp = function() {
this.div.textField.value++;
}
Spinner.prototype.onClickDown = function() {
this.div.textField.value--;
}
5. フ ァ イル > 保存 を選択 し て JavaScript を保存 し ます。
フ ォ ームス ク リ プ ト お よ び Java ソ ース と は異な り 、 JavaScript 構文エ ラ ーは
NXJ デザ イ ン セ ン タ に報告 さ れません。
タ ス ク 2: (オプ シ ョ ン) グ ラ フ ィ カル JavaBean を作成する
JavaScript コ ン ト ロ ール上で コ ン ト ロ ール専用プ ロパテ ィ をサポー ト し た り 、 デザ
イ ンパネルで コ ン ト ロ ールを描画す る方法を カ ス タ マ イ ズする場合は、 JavaBean
を定義する必要があ り ます。
JavaBean は Swing コ ン ポーネ ン ト を継承する必要があ り ます。 ま た、
getInstantiationCode メ ソ ッ ド も 必要です。 こ の メ ソ ッ ド には引数がな く 、 コ ン ト
ロールを イ ン ス タ ン ス化する ための JavaScrip ス ニペ ッ ト を返 し ます。 ほ と んどの
場合、 getInstantiationCode メ ソ ッ ド は こ のス ニペ ッ ト を bean のプ ロパテ ィ 値の根
拠に し ます。
タ ス ク 1 で コ ン ト ロ ールが作成 さ れた時点で、 NXJ ア プ リ ケーシ ョ ン デザ イ ナは
コ ン ト ロ ールのテ ン プ レ ー ト JavaBean フ ァ イルを作成 し ま し た。
Unify NXJ JavaScript の使い方
10
コ ン ト ロ ールが別の JavaBean コ ン ト ロ ールを継承する場合、 テ ン プ レ ー ト は以下
の コ ー ド を構成 し ます。
package <package name of component>;
import <name of base class's bean>;
class <component name>Bean
extends < base class' bean>
{
}
JavaBean フ ァ イルを編集す る には、 NXJ ア プ リ ケーシ ョ ン デザ イ ナの コ ン テ ン ト
パネルで JavaBean タ ブ を ク リ ッ ク し ます。 コ ン ト ロ ールの JavaBean が正 し く コ ン
パ イル さ れる と 、 JavaBean が表示 さ れ、 コ ン ト ロ ールが描画 さ れます。
プ ロパテ ィ ビ ュ ーパネルには、 標準の コ ン ト ロ ールプ ロパテ ィ であ る Background
や Font な どがあ り ます。
JavaScript コ ン ポーネ ン ト は コ ン ト ロ ール専用プ ロパテ ィ を定義で き ます。 こ れ ら
のプ ロパテ ィ を使 っ て、 コ ン ポーネ ン ト の実行時の外観 と ク ラ イ ア ン ト サ イ ド の
動作を設定 し ます。 コ ン ポーネ ン ト 専用プ ロパテ ィ は、 JavaBean にゲ ッ タ と セ ッ
タ を追加 し てオ プ シ ョ ン で BeanInfo に コ ー ド を追加 し て定義 し ます。
コ ン ポーネ ン ト 専用プ ロパテ ィ は設計時 と 実行時に設定で き ます。 サーバ と ク ラ
イ ア ン ト の間の通信プ ロ ト コ ルには、 名前 と 値のペアの リ ス ト をや り と り す る こ
と が必要です。 ク ラ イ ア ン ト サ イ ド の コ ー ド は、 コ ン ポーネ ン ト のゲ ッ タ と セ ッ
タ を呼び出 し て プ ロパテ ィ の取得 と 設定を行います。
コ ンパ イ ラ では、 コ ン ポーネ ン ト 専用プ ロパテ ィ を取得 し て設定する フ ィ ール ド
ス タ イル構文をサポー ト する ために、 JavaBean の内部調査、 プ ロパテ ィ 名の指定、
対応する jBiz ク ラ スの コ ー ド 生成を行 う こ と がで き ます。
コ ン ポーネ ン ト を イ ン ス タ ン ス化す る コ ー ド の構成は以下の と お り です。
<div> <script language="javascript">
snippet returned by getInstantiationCode
</script> </div>
div の属性には コ ン ポーネ ン ト の標準 コ ン ト ロ ールプ ロパテ ィ (Background、
Foreground、 Width、 Height な ど) が設定 さ れています。 NXJ ア プ リ ケーシ ョ ン デ
ザ イ ナが イ ン ス タ ン ス化 コ ー ド を生成する場合、 getInstantiationCode で戻 さ れる ス
ニペ ッ ト を実行 し て、 $DIV の各 イ ン ス タ ン ス を div の名称に置き換え ます。
Unify NXJ JavaScript の使い方
11
タ ス ク 3: (オプ シ ョ ン) BeanInfo を作成する
BeanInfo は JavaBean の メ タ デー タ を提供す る Java ク ラ ス で、 Beans プ ロパテ ィ の
名前 と 各プ ロパテ ィ の カ ス タ ムエデ ィ タ です。 BeanInfo の使用は JavaBeans の仕様
で定義 さ れています。 タ ス ク 1 で JavaScript コ ン ト ロ ールを作成 し た と き、 NXJ
ア プ リ ケーシ ョ ン デザ イ ナは以下のよ う なデ フ ォ ル ト の BeanInfo を作成 し ま し た。
• JavaScript コ ン ト ロ ールが別の JavaScript コ ン ト ロ ールを継承 し 、 ベース コ ン
ト ロ ールに BeanInfo があ る場合、 NXJ ア プ リ ケーシ ョ ン デザ イ ナはそのベー
ス コ ン ト ロ ールの BeanInfo を継承す る BeanInfo を作成 し ます。
• それ以外の場合、 BeanInfo には何 も 含まれません。 こ れは、 NXJ ア プ リ ケー
シ ョ ン デザ イ ナは コ ン ト ロ ールの BeanInfo ク ラ ス を コ ンパ イルせず、
BeanInfo ク ラ スがない bean の Java 規則に基づいて bean のプ ロパテ ィ と 配置
済みエデ ィ タ を指定する必要があ る こ と を示 し ています。
パレ ッ ト に JavaScript ベースの コ ン ト ロ ールを配置する と 、 NXJ ア プ リ ケーシ ョ ン
デザ イ ナは BeanInfo を使 っ て コ ン ト ロ ールの カ ス タ ムア イ コ ン を検索 し ます。
BeanInfo がア イ コ ンの相対パス を返せば、 Static Content に対 し て相対的であ る と
見な さ れます。
NXJ ア プ リ ケーシ ョ ン デザ イ ナには以下の 3 つの Swing ク ラ スがあ り 、 カ ス タ ム
エデ ィ タ と し て使用で き ます。
• テキス ト フ ィ ール ド 用、 … ボ タ ン あ り
• NXJ ア プ リ ケーシ ョ ン デザ イ ナの色選択用
• NXJ ア プ リ ケーシ ョ ン デザ イ ナの タ グエデ ィ タ 用
タ ス ク 4: コ ンポーネ ン ト を フ ォ ームや他のコ ン テナに配置する
フ ォ ームや他の コ ン テ ナに JavaScript コ ン ポーネ ン ト を配置す る ス テ ッ プは、 以下
の と お り です。
1. NXJ ア プ リ ケーシ ョ ン デザ イ ナで、 JavaScript コ ン ポーネ ン ト を配置す る コ
ン テ ナ を開き ます。
2. コ ン ポーネ ン ト の挿入場所にあ る コ ン テ ナ を右 ク リ ッ ク し て、 コ ン ポーネ ン
ト の挿入 を選択 し ます。
Unify NXJ JavaScript の使い方
12
3. コ ン ポーネ ン ト の選択ダ イ ア ロ グで、 挿入す る JavaScript ベースの コ ン テ ナ
を ク リ ッ ク し ます。
4. コ ン ポーネ ン ト を設定 し ます。
JavaBean コ ン ポーネ ン ト の イ ン ス タ ン ス を編集す る場合は、 以下のガ イ ド ラ
イ ン に従 っ て く だ さ い。
コ ン ポーネ ン ト の JavaBean が正 し く コ ンパ イル さ れる と 、 JavaBean が表示
さ れ、 コ ン ト ロ ールが描画 さ れます。 それ以外の場合、 コ ン ポーネ ン ト はプ
レ イ ス フ ォ ルダボ ッ ク ス と し て描画 さ れます。
選択 し た JavaScript ベースの コ ン ト ロ ールのプ ロパテ ィ タ ブ には、 標準の コ
ン ト ロ ールプ ロパテ ィ (Background や Font な ど) があ り 、 さ ら に
Component Properties グループ に以下の コ ン ポーネ ン ト 専用プ ロパテ ィ があ り
ます。
• コ ン ポーネ ン ト に BeanInfo 定義があ り 、 BeanInfo の コ ンパ イルが成功 し
てい る場合、 NXJ ア プ リ ケーシ ョ ン デザ イ ナは BeanInfo を使 っ て プ ロパ
テ ィ の一覧を指定 し ます。
• それ以外の場合は、 JavaBean の コ ンパ イル完了後 NXJ ア プ リ ケーシ ョ ン
デザ イ ナは bean のゲ ッ タ と セ ッ タ を使 っ て プ ロパテ ィ の一覧を指定 し ま
す。
• それ以外の場合、 bean は bean 専用プ ロパテ ィ がない も の と みな し ます。
Unify NXJ JavaScript の使い方
13
• コ ン ポーネ ン ト が JavaScript ベースの フ ィ ール ド コ ン ト ロ ールであれば、
NXJ ア プ リ ケーシ ョ ン デザ イ ナは Target Field な ど標準 フ ィ ール ド プ ロパ
テ ィ も 表示 し ます。
コ ン ポーネ ン ト 専用プ ロパテ ィ に値を セ ッ ト する には、 プ ロパテ ィ の値の列
を ク リ ッ ク し ます。 BeanInfo がプ ロパテ ィ の カ ス タ ムエデ ィ タ を定義 し てい
れば、 NXJ ア プ リ ケーシ ョ ン デザ イ ナはその カ ス タ ムエデ ィ タ を配置済みエ
デ ィ タ と し て使用 し ます。 それ以外の場合、 bean に カ ス タ マ イザがあれば、
NXJ ア プ リ ケーシ ョ ン デザ イ ナはその カ ス タ マ イザを表示 し ます。
タ ス ク 5: ア プ リ ケーシ ョ ンの実行
通常の方法で ア プ リ ケーシ ョ ン を実行ま たは配備 し ます。
Unify NXJ JavaScript の使い方
14