9

我需要制作一个包含 4 个选项的自定义对话框,但据我所知,您只能有一个包含三个选项的对话框。以下是我如何制作一个包含 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

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大小为 4 而不是 3 的数组...

于 2009-08-10T22:22:28.433 回答