Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

ボタンを追加する

 

このセクションでは、ウィンドウに簡単なボタンを追加する方法を見て行きます。

ウィンドウにボタンを追加する

前回作成したウィンドウは、まだ中に何も置かれてないため、あまり面白いものではありませんでした。 このセクションでは、Find (検索) ボタンと Cancel (取消) ボタンの 2 つのボタンを追加します。 また、ウィンドウの中でこれらの配置を決める簡単な方法についても学びます。

HTML と同様、XUL には、ユーザーインターフェイスの要素を作成するためのタグがたくさんあります。 最も基本的なものは、 button タグです。 この要素は、単純なボタンを作成するために使用します。

button 要素には、2 つの主要なプロパティ、labelimage があります。 通常、ボタンには、この 2 つのうちのどちらか、あるいは両方が必要になります。 したがって、ボタンには、「ラベルだけ」、「画像だけ」、あるいは「ラベルと画像の両方」を設定することが可能です。 ボタンは、ダイアログの「OK」および「Cancel」ボタンとして普段から使用されています。

ボタン要素の構文

button タグの構文を以下に示します。

<button
    id="identifier"
    class="dialog"
    label="OK"
    image="images/image.jpg"
    disabled="true"
    accesskey="t"/>

ボタンの属性には以下のようなものがあり、全てオプションです。

id 
ボタンを識別するための一意な識別子。この属性は、全ての要素に存在します。id は、ボタンをスタイルシートやスクリプトから参照する必要があるときに使用します。この属性は、必要ない場合でも、出来るだけ全ての要素に対して設定しておいた方が良いと思います。なお、このチュートリアルで示す例の中では、単純化のために設定していない場合もあります。
class 
ボタンのスタイルクラス。動作は HTML と同様です。ボタンが表示される外見のスタイルを指定するために使用します。この場合は、dialog という値が使用されています。ほとんどの場合、ボタンに対して class を使用する事はないと思います。
label 
OK や Cancel といった、ボタンに表示されるラベル。この属性が指定されていない場合、何のテキストも表示されません。
image 
ボタンに表示される画像の URL。この属性が指定されていない場合、画像は表示されません。画像は、スタイルシート中で list-style-image プロパティを使用することによっても、指定することができます。
disabled 
この属性が true に設定された場合、そのボタンは無効になります。無効状態では、ボタンのテキストは通常灰色で表示されます。もしボタンが無効のときは、そのボタンの機能は実行出来ません。この属性が設定されない場合、ボタンは有効になります。ボタンの有効・無効の切り替えは、JavaScript で変更することができます。
accesskey 
この属性は、ショートカットキーとして使用する文字で、可能な限り設定するようにします。この文字は、ラベルのテキストに含まれている文字であるべきで、通例、下線付きで表示されます。【訳注: ラベルが日本語の場合は、「開く (O) 」のようにショートカットキーは括弧で囲って付加しておきます】 利用者が ALT キー (または、そのプラットフォームの同様のキー) を押しながらアクセスキーを押した場合、ボタンはそのウィンドウならどこからでもフォーカスを得ることが出来るはずです。

ボタンは、上に挙げたものよりも、さらに多くの属性をサポートしていることを補足しておきます。 他の属性については、後で触れる予定です。 以下にボタンの例をいくつか示します。

ボタンの例

var el = env.locale; 例 1 : ソース 表示

画像:buttons1.png
<button label="Normal"/>
<button label="Disabled" disabled="true"/>

上の例を表示させると、画像で示すようなボタンが作成されるはずです。 最初のボタンは Normal (通常) のボタンです。 二番目のボタンは Disabled (無効) になっているので、灰色表示 (グレイアウト) されています。

ファイル検索ユーティリティのために簡単な Find (検索) ボタンを作成に取りかかることにします。 以下のサンプルコードはその方法を示しています。

<button id="find-button" label="Find"/>
Firefox を利用している場合、ウェブページからは chrome ウィンドウを開くことができないため、このチュートリアルにある 「表示」リンクは通常のブラウザウィンドウで開かれることになります。このため、ボタンはウィンドウ幅いっぱいに引き延ばされて表示されてしまいます。これを防ぐには window タグに align="start" を与えます。

ファイル検索ダイアログの例

それでは、前のセクションで作成した findfile.xul ファイルに、上記のコードを追加してみましょう。コードは window タグの間に挿入する必要があります。追加するコードを、以下に赤字で示します:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="findfile-window"
    title="Find Files"
    orient="horizontal"
     xmlns="https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <button id="find-button" label="Find"/>
  <button id="cancel-button" label="Cancel"/>
</window>
画像:buttons2.png

Find だけでなく、Cancel ボタンも追加されていることを注記しておきます。 水平配置 (orient="horizontal") がウィンドウに与えられているため、二つのボタンは横に並んで表示されます。 この XUL ファイルを Mozilla で開くと、右の画像で示すようなウィンドウが表示されるはずです。

テキストのラベルは直接 XUL ファイルに書き込むべきではない、という事を覚えておいてください。 テキストのローカライズをやりやすくするために、実体 (entity) を使用するべきです。

次のセクションでは、XUL ウィンドウにラベルと画像を追加する方法について調べます。

var el = env.locale; 関連ページ : その他のボタン機能

ドキュメントのタグと貢献者

 このページの貢献者: ethertank, Snaka, Morishoji, Mgjbot, Taken Bot
 最終更新者: ethertank,