【ハウツー】
では、Extを使用したコーディングの雰囲気をつかんでいただくために、簡単なHelloWorldサンプルを以下に示す。このサンプルでは、ダイアログをHTMLで自作し、ボタンが押されたらそれを表示するという処理が実行される。
<html>
<head>
<!-- CSS、JavaScriptの読み込み -->
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" />
<script type="text/javascript" src="adapter/yui/yui-utilities.js"></script>
<script type="text/javascript" src="adapter/yui/ext-yui-adapter.js"></script>
<script type="text/javascript" src="ext-all.js"></script>
<script type="text/javascript">
<!--
Ext.onReady(prepare, null, false); …(1)
var dialog;
function prepare() {
// ボタン要素を取得 …(2)
var button = Ext.get('pushMe');
// ボタンのclickイベントに関数をバインド …(3)
button.on('click', function() {
if (!dialog) {
// BasicDialogウィジェットを使用 …(4)
dialog = new Ext.BasicDialog("helloDialog", {
width:200,
height:100
});
// ダイアログの追加設定 …(5)
dialog.addKeyListener(27, dialog.hide, dialog);
dialog.addButton('OK', dialog.hide, dialog);
}
// ダイアログを表示
dialog.show();
});
}
-->
</script>
</head>
<body>
<input id="pushMe" type="button" value="ごあいさつ" />
<!-- ダイアログのソース --> …(6)
<div id="helloDialog" style="visibility:hidden;position:absolute;top:0px;">
<div class="x-dlg-hd">こんにちは</div>
<div class="x-dlg-bd">
こんにちは、Ext
</div>
</div>
</body>
</html>
プログラム中の括弧書きの数字を付けた部分では次のような処理を行っている。
(1) ExtのAPIを使って、ドキュメントの読み込み終了時にprepare関数が呼ばれるよう登録している
(2) prepare関数内の処理。Ext.get(ID)を用いてボタンのElementを取得している。Ext.get(ID)で取得できるのはDOMのエレメントではなく、Ext.Elementクラスのオブジェクトだ
(3) コメントにあるとおり、Ext.Elementクラスのonメソッドを使ってクリックイベントに関数をバインドしている
(4) Ext.BasicDialogクラスを使用し、ダイアログを作成している。ここで指定した"helloDialog"要素の内容がダイアログとして表示される
(5) ダイアログに、「Escキーを押されたらダイアログ非表示」「OKボタンを追加し、押されたらダイアログ非表示」という機能を追加している
(6) ダイアログのソース。スタイル「visibility」をhiddenにセットし、普段は見えないようにしている。このdiv要素の内部で、x-dlg-hd(ヘッダ)とx-dlg-bd(ボディ)というclass要素でdivを定義しておくと、それがダイアログのタイトル部分とボディ部分になる
実行結果は以下の通りだ。
|
|
画面2: サンプルの実行結果 |
多少駆け足であったが、Extの概要からコード例まで、全体的にお伝えできたことをうれしく思う。これでExtの魅力を知っていただき、開発に役立てていただければ幸いである。
| HP、災害対策提供の新データセンダーを北九州にオープン [13:58 5/25] |
| 理研など、物質として磁石の性質を持たない新たな電子スピン配列を発見 [10:31 5/25] |
| NHKの次世代スマートTVプラットフォーム「Hybridcast」- 機器メーカーがデモ機を展示 [10:01 5/25] |
| ZMP、市販ハイブリッドカーをベースにした「RoboCar HV」の販売を開始 [10:00 5/25] |
| 3分野に各々適したDSPを提供することで市場ニーズの対応を図るCEVAの戦略 [10:00 5/25] |
|
【レビュー】古いフィルム写真をデータ化!! Androidアプリ「ShoeBox」を試す [14:43 5/25] 携帯 |
|
Googleウェブマスターツール、ナビゲーションやダッシュボード画面を変更 [14:43 5/25] ネット |
|
【レポート】【アプリレビュー】古いフィルム写真をデータ化して管理できる「ShoeBox」 [14:25 5/25] 携帯 |
|
4月の中古マンション価格--東京23区は15カ月連続下落、4000万円を割り込む [14:23 5/25] ライフ |
|
[浅野哲也]優勝は「レアルの意地」“最高峰”リーグを総括 WOWOW「リーガ総集編」 [14:12 5/25] エンタメ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。