SWT Tips and Samples 基礎編 > InputDialog |
|
InputDialogInputDialogはユーザーからの文字入力を受け付ける汎用的なダイアログです。Validator機能もあり、IInputValidatorインターフェースを継承したインスタンスをInputDialogのコンストラクタに持たせることで、ユーザーの入力を検証して警告メッセージを表示することが可能です。Validatorを用いないInputDialogを作る場合は、InputDialogのコンストラクタ引数にnullを与えます。アプリケーション開発には、非常に重宝するクラスです。スクリーンショットソースコード (InputDialogTest.java)import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.*; public class InputDialogTest extends ApplicationWindow implements SelectionListener { private Button b1; private Button b2; public InputDialogTest() { super(null); } public static void main(String[] args) { ApplicationWindow w = new InputDialogTest(); w.setBlockOnOpen(true); w.open(); Display.getCurrent().dispose(); } protected Control createContents(Composite parent) { getShell().setText("InputDialogTest"); Composite container = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); container.setLayout(layout); layout.numColumns = 1; b1 = new Button(container, SWT.PUSH); b1.setText("Open InputDialog"); b1.addSelectionListener(this); b2 = new Button(container, SWT.PUSH); b2.setText("Open InputDialog with Validator"); b2.addSelectionListener(this); return container; } public void widgetSelected(SelectionEvent e) { if (e.getSource() == b1){ InputDialog dialog = new InputDialog( getShell(), "文字列の入力", "文字列を入力してください", "Initial Value", null); int ret = dialog.open(); if (ret == Window.OK){ System.out.println("Value: " + dialog.getValue()); } } if (e.getSource() == b2) { InputDialog dialog = new InputDialog( getShell(), "文字列の入力", "20文字以内の文字列を入力してください", "Initial value", new StringValidator()); int ret = dialog.open(); if (ret==Window.OK){ System.out.println("Value: " + dialog.getValue()); } } } public void widgetDefaultSelected(SelectionEvent e) { } class StringValidator implements IInputValidator { public String isValid(String str) { if (str.length() > 20) { return "文字列が20文字を超えています"; } return null; } } } 最新更新日: 2004年10月20日 |
- PR -
【Sony】大手他社よりも安い!ビジネス向け光・100Mしかも固定IP付!今なら更に初期費用最大15,000円OFF!
オフィス用品・オフィス家具 価 格 交 渉 可!
|
||||
|
|||||
Copyright(C) 2003,2004 Jasmin Project. All Right Reserved. |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||