スポンサーリンク

Adobe JavaScriptリファレンス : ユーザーインターフェース編

Adobe JavaScript Reference GUI編

Windowクラス

グラフィカルユーザーインターフェース(GUI)を作成するためには、Windowクラスを利用します。

このWindowクラスからWindowオブジェクトを作成し、さらにそのWindowオブジェクトに実行ボタンやテキストボックスなどのオブジェクトを追加することで、細かな機能をもつグラフィカルユーザーインターフェース(GUI)を作成します。

機能

グラフィカルユーザーインターフェース(GUI)を提供する。

メソッド

Windowクラスのダイアログ表示

Windowクラスだけでも、簡単なダイアログを表示することができます。
表示できる形式は以下の3パターン。

alert()
ショートメッセージとOKボタンのダイアログを表示する。
confirm()
ショートメッセージと[はい][いいえ]の2つのボタンのあるダイアログを表示する。
prompt()
ユーザーのテキスト入力を返すモーダルダイアログを表示する。

Windowオブジェクトを検索する

Windowクラスから作成したWindowオブジェクトを検索することができます。

find()
既存のウィンドウを検索する。

ウインドウオブジェクトを作成する

WindowクラスからWindowオブジェクトを作成する構文を説明していきます。
Adobe JavaScriptの書き方のGUIの項目でも、実際の例を示しながら解説しています。

機能と戻り値

Windowクラスから新しいWindowオブジェクトを作成して返します。
作成に失敗したときの戻り値は、nullです。

こちらでは、具体的な作成手順を詳細に解説しています

基本構文

new Window (type [, title, bounds, {creation_properties}]);
type
新しく作成するウインドウのタイプを指定する。選択肢は以下の3つ。
dialog
モーダルダイアログ。
palette
モードレスダイアログ(フローティングパレットとも呼ばれる)。
Photoshop CCではサポートしていない。
window
アプリケーションのメインウィンドウとして使用できる通常のウインドウ。
Photoshop CCではサポートしていない。
title
オプション。ウィンドウのタイトルとして表示する文字列。
bounds
オプション。表示するウィンドウの位置とサイズ。
creation_properties
オプション。
resizeable
trueの場合、ウィンドウのサイズを変更可。 デフォルトはfalse。
su1PanelCoordinates
trueの場合、ウインドウの子パネルを自動調整する。
デフォルトはfalse。Photoshopのみ対応。
closeButton
trueの場合、タイトルバーに閉じるボタンを表示。
デフォルトはtrue。dialogには使用不可。
maximizeButton
trueの場合、タイトルバーにウインドウ最大化ボタンを表示。
デフォルトはpaletteではfalse、windowではtrue。dialogには使用不可。
minimizeButton
trueの場合、タイトルバーにウインドウ最小化またはアイコン化ボタンを表示。
デフォルトはpaletteではfalse、windowではtrue。
Mac OSでは最小化ボタンなし。dialogには使用不可
independent
trueの場合、windowのときにアプリケーションウィンドウから独立する。
Windows OSのみ。デフォルトはfalse。
borderless
trueの場合、タイトルバーや枠線を表示しない。

サンプルコードと実行結果1

newコマンドで作成した値を、オブジェクト変数wとしてインスタンス化してWindowオブジェクトを作成しています。
指定している値は、ウインドウのタイプ、タイトル、位置と大きさです。

var w = new Window("dialog", "ダイアログのタイトル", [0,0,400,250]);
w.center();
w.show();
GUIウインドウオブジェクトの作成

サンプルコードと実行結果2

こちらでは、オプションで最小化ボタンと最大化ボタンを表示しています。

var objDlg = new Window("dialog", "タイトル", [0,0,400,250], {maximizeButton:true, minimizeButton:true});
objDlg.center();
objDlg.show();
GUIウインドウオブジェクト オプション指定で最小化・最大可ボタンを表示する

1行目で、ウインドウオブジェクトを作っただけでは表示がされません。

show()で画面に表示します。
center()を指定することで、画面中央に表示されます。

スポンサーリンク

ウインドウ関連オブジェクトのプロパティ

ウインドウ関連オブジェクト(Windowクラスから作成したWindowオブジェクトや、Windowオブジェクトに追加したbuttonなどの各種オブジェクト)は、さまざまなプロパティを持っています。

そのプロパティを利用してオブジェクトの状態を操作したり、あるいは状態を取得することができます。

ウインドウオブジェクトが持っているプロパティ

active
オブジェクトがアクティブかどうか。
cancelElement
ウインドウの「cancel」ボタンを探して通知する。 dialogの場合は、ユーザーがESCキーを入力したときに通知。
defaultElement
ウインドウの「ok」ボタンを探して通知する。 dialogの場合は、ユーザーがENTERキーを入力したときに通知。
frameBounds
ウインドウの内容領域(タイトルバーは含まない)の座標値。
frameLocation
ウインドウの左上隅の座標値。
frameSize
ウインドウ(タイトルバーは含まない)の幅と高さ。
maximized
ウインドウが最大化されているかどうか。
minimized
ウインドウが最小化またはアイコン化されているかどうか。
opacity
ウインドウの不透明度。
shortcutKey
onShortcutKeyイベントを呼び出すキーシーケンス。 Windows OSのみ。

ウインドウオブジェクトとコンテナのプロパティ

alignChildren
調べ中
alignment
調べ中
bounds
ウインドウの描画可能領域(タイトルバーを含む)の座標値。
children
ウインドウまたはコンテナに追加された要素のコレクション。
graphics
ウインドウの外観をカスタマイズするScriptUIGraphicsオブジェクト。 (onDrawイベントに応答)
layout
ウインドウまたはコンテナのLayoutManagerオブジェクト。
location
ウインドウの左上隅の座標値、またはパネルの左上隅の座標値。
margins
コンテナと外側の子要素との余白。
maximumSize
ウインドウのサイズ変更可能な最大の大きさ。
minimumSize
ウインドウのサイズ変更可能な最小の大きさ。
orientation
コンテナ内の要素をどう配置するか。
parent
親オブジェクト。 ウインドウオブジェクトの場合は、null。
preferredSize
properties
コンテナのプロパティオブジェクト
selection
TabbedPanelの場合のみに対応。アクティブなタブ。
size
要素の幅と高さ。
spacing
隣り合う兄弟要素間のアキスペース。
text
タイトル、ラベルなどに表示される文字列。
visible
要素を表示するかどうか。
window
要素の最上位の親ウインドウオブジェクト。
windowBounds
最上位の親ウインドウを基準にしたBoundsオブジェクト。

コンテナには、panel、tabbedpanel、 tab、groupの4種類があります。これらのコンテナオブジェクトにはさらに別のオブジェクトを追加することができます。

スポンサーリンク

ウインドウ関連オブジェクトのメソッド

オブジェクトに何か処理を加えたり、オブジェクトを操作したりするには、メソッドを使います。
なかでも、Windowオブジェクトにコントロールを作成するaddメソッドは、特に頻繁に登場します。

add
新しいコントロールまたはコンテナオブジェクトを作成して返す。 作成できるコントロールは、button, checkbox, dropdownlist, edittext, flashplayer, group, iconbutton, image, item, listbox, panel, progressbar, radiobutton, scrollbar, slider, statictext, tab, tabbedpanel, treeview.
addEventListener
イベントのイベントハンドラを登録する。
center
ウインドウを画面の中央に置く。
close
ウインドウを閉じる。
dispatchEvent
イベントの発生をシミュレートする。
findElement
ウインドウまたはコントロールオブジェクトを検索して返す。
hide
ウインドウを非表示にする。
notify
指定されたユーザインタラクションイベントを通知する。
remove
コントロールを削除する。
removeEventListener
イベントハンドラの登録を解除する。
show
ウインドウ、コンテナ、またはコントロールを表示する。
update
表示を更新する。
スポンサーリンク

ウインドウ関連オブジェクトのイベント

イベントを使うと、オブジェクトに発生した事象を捉えることができます。

例えば、次のような処理をしたいときにイベントを使います。

  • ウインドウがクリックされてアクティブになったときに、実行したい処理がある。
  • 閉じるボタンが押されたら、やりたい処理がある。
onActivate
ウインドウがアクティブになったときに呼び出される。
onClose
ウインドウを閉じる要求が行われたときに呼び出される。
onDeactivate
ウインドウが非アクティブになったときに呼び出される。
onDraw
コンテナまたはコントロールを描画しようとしたときに呼び出される。
onMove
ウインドウが移動したときに呼び出される。
onMoving
ウインドウが移動しているときに呼び出される。
onResize
ウインドウのサイズが変更されたときに呼び出される。
onResizing
ウインドウのサイズが変更されているときに呼び出される。
onShortcutKey
ウインドウのshortcutKey値と一致するショートカットキーシーケンスが入力されたときに呼び出される。
onShow
ウインドウを開くように要求されたときに呼び出される。
スポンサーリンク
スポンサーリンク
スポンサーリンク
リプちんをフォローする
スクリプちん