ポップアップの移動とリサイズ
メニューとポップアップにはそれらを移動やリサイズするためのメソッドがあります。
ポップアップの移動
いったんポップアップが開かれれば、そのポップアップの moveTo
メソッドによってポップアップを移動することができます。
void moveTo(in long left, in long top);
引数 left
は画面上の水平位置で、引数 top
は画面上の垂直位置です。このメソッドは与えられた引数に合致するように left
属性と top
属性を変更するので、これらの属性が永続化 (persist)されると、ウィンドウがふたたび表示された時にこの値が復元されます。
次の例はポップアップを画面の左上の端に移動します。
popup.moveTo(0, 0);
この表示位置は、オペレーティングシステムが提供するメニューバーやタスクバーなどのユーザインターフェイス要素に重ならないようにずらされます。
ポップアップのリサイズ
ポップアップの大きさはその内容によって自動的に決定されます。たとえば、メニューの大きさはその中の全てのアイテムを表示するのに十分な大きさになります。メニューは画面上で利用できるスペースよりも大きくなることがあります。この場合、メニューはスクリーンの大きさに合わせて移動されます。たとえば、メニューのポップアップがメニューのラベルの下ではなく上に表示されることがあります。XUL アプリケーションのウィンドウを画面の下端に移動して、メニューまたはメニューを持つボタンをクリックするとこの効果を見ることができます。
それでもポップアップが大きすぎる場合には、スクリーンの大きさに合うようにリサイズされます。メニューの両端に矢印が表示され、ユーザはアイテムをスクロールできるようになります。
ポップアップの sizeTo
メソッドを使うと、ポップアップを手動でリサイズできます。
void sizeTo(in long width, in long height);
この例では、ポップアップが幅 200 pixel、高さ 300 pixel にリサイズされます。
popup.sizeTo(200, 300);