9

4つのオプションを使用してカスタムダイアログを作成する必要がありますが、私が知る限り、3つのオプションを使用できるのは1つだけです。これが私が3つのオプションでオプションペインを作る方法です:

        Frame refFrame = DialogUtils.getReferenceFrame();

        ///TODO:
        /// - Use DialogUtils
        int option = JOptionPane.showOptionDialog(refFrame,
            msg,
            rsc.str("918"),
            JOptionPane.YES_NO_CANCEL_OPTION,
            JOptionPane.INFORMATION_MESSAGE,
            DialogUtils.INFO_ICON,
            options,
            options[0]);

しかし、YES_NO_CANCEL_OPTIONのある種のオープンエンドの置換を見つけることができませんでした。JOptionPaneに4つの選択肢を許可する方法はありますか?

4

2 に答える 2

16

JOptionPane の任意のオプション定数を使用できます。サイズ 4 のオプション配列を指定するだけで済みます。

public static void main(String[] args) {
    String[] options = new String[] {"Yes", "No", "Maybe", "Cancel"};
    int response = JOptionPane.showOptionDialog(null, "Message", "Title",
        JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
        null, options, options[0]);

    // Where response == 0 for Yes, 1 for No, 2 for Maybe and -1 or 3 for Escape/Cancel.
}
于 2009-08-10T22:34:43.917 に答える
1

optionsサイズが3ではなく4の配列を使用するだけです...

于 2009-08-10T22:22:28.433 に答える