Menu.java
/*
* $Id: Menu.java,v 1.6 2008/07/16 08:00:37 koga Exp $
*
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*
*/
package org.mklab.tool;
import java.awt.Component;
import javax.swing.JOptionPane;
/**
* ユーザにメニューを示し、選択してもらうクラス。
*
* @author koga
* @version $Revision: 1.6 $, 2004/06/09
*/
public final class Menu {
/**
* 新しく生成された<code>Menu</code>オブジェクトを初期化します。
*/
private Menu() {
// nothing to do
}
/**
* メニューダイアログを表示し、選択された項目の番号を返します。
*
* @param title タイトル
* @param options 選択肢
* @param defaultNumber 初期値
* @return 選択された番号。取消しの場合0。
*/
public static int menu(final String title, final String[] options, final int defaultNumber) {
int number = 1;
if (1 < defaultNumber || options.length < defaultNumber) {
number = defaultNumber;
}
String input = (String)JOptionPane.showInputDialog((Component)null, Messages.getString("Menu.0"), title, JOptionPane.QUESTION_MESSAGE, null, options, options[number - 1]); //$NON-NLS-1$
JOptionPane.getRootFrame().removeNotify();
if (input == null) {
return 0;
}
for (int i = 0; i < options.length; i++) {
if (options[i].equals(input)) {
return i + 1;
}
}
return 0;
}
/**
* メニューダイアログを表示し、選択された項目の番号を返します。 <br>
*
* 初期値は1です。
*
* @param title タイトル
* @param options 選択肢
* @return 選択された番号。取消しの場合0。
*/
public static int menu(final String title, final String[] options) {
int n = 1;
return menu(title, options, n);
}
}