SWT Tips and Samples 基礎編 > MessageDialog

 

MessageDialog

MessageDialogは、メッセージを表示するためのダイアログです。任意のメッセージやダイアログイメージ、ボタンなどを設定できます。コンストラクタによりこれらの情報を設定し、openメソッドでダイアログを実際に表示します。

MessageDialog dialog = new MessageDialog(
        getShell(), 
        "選択してください",
        new Image(getShell().getDisplay(), "icon.gif"),
        "さらに進みますか?",
        MessageDialog.QUESTION,
        new String[]{"はい、進みます", "いいえ、進みません"},
        1
);
int ret = dialog.open();

ダイアログアイコン(ウィンドウの左上のアイコン)を表示しない場合は、nullを指定します。ダイアログの中のイメージは以下の5種類のイメージを指定できます。

  • ERROR
  • INFORMATION
  • NONE
  • QUESTION
  • WARNING

またボタンの表示にはStringの配列を渡します。openメソッドは押されたボタンのインデックスを返すので、その値からどのボタンが押されたかを判断可能です。コンストラクタ最後の引き数は、デフォルトで選択されるボタンのインデックスを指定します。この例では、1が指定されているので、2番目のボタンにデフォルトでフォーカスが当たります。

スクリーンショット

ソースコード (MessageDialogTest.java)

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

public class MessageDialogTest extends ApplicationWindow {

        public MessageDialogTest() {
                super(null);

        }
        public static void main(String[] args) {
                ApplicationWindow w = new MessageDialogTest();
                w.setBlockOnOpen(true);
                w.open();
                Display.getCurrent().dispose();
        }
        protected Control createContents(Composite parent) {
                getShell().setText("MessageDialogTest");
                Composite container = new Composite(parent, SWT.NONE);
                FillLayout layout = new FillLayout();
                container.setLayout(layout);
                
                Button button = new Button(container, SWT.PUSH);
                button.setText("Open MessageDialog");
                button.addSelectionListener(new SelectionAdapter(){
                   public void widgetSelected(SelectionEvent e) {
                           MessageDialog dialog = new MessageDialog(
                              getShell(), 
                              "選択してください",
                              new Image(getShell().getDisplay(), "icon.gif"),
                              "さらに進みますか?",
                              MessageDialog.QUESTION,
                              new String[]{"はい、進みます", "いいえ、進みません"},
                              1
                           );
                           int ret = dialog.open();
                           System.out.println("ret: " + ret);
                                                        
                   }
                });
                return container;
        }
}


最新更新日: 2004年10月20日
 
関連リンク
Eclipse API ドキュメント
MessageDialog

- PR -

プレゼンテーション作成ソフト無料お試し版配信中

【Sony】大手他社よりも安い!ビジネス向け光・100Mしかも固定IP付!今なら更に初期費用最大15,000円OFF!

オフィス用品・オフィス家具 価 格 交 渉 可! 
◎ 目指せ★業界最安値 ★ ◎ オフィネット・ドットコム株式会社

注文から納品まで驚きの早さ!!【ASKULカタログ】はこちらから・・・

マイクロソフト お得な見積! まとめての購入ならオトクな方法で。ライセンスだから管理も簡単。


Copyright(C) 2003,2004 Jasmin Project. All Right Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送