Java 作业窗格输入对话框菜单

Java 作业窗格输入对话框菜单,java,swing,joptionpane,Java,Swing,Joptionpane,在这里寻找有关我的代码的帮助。我正在尝试创建一个JOptionPane输入对话框,该对话框将从用户的选项1或选项2获取输入,并根据第一个输入显示下一个菜单。1和2的结果会有所不同 我这样做对吗 代码: 编辑: if (value == 1) { List<String> optionList2 = new ArrayList<String>(); optionList2.add("ECB"); optionList2.add("CB

在这里寻找有关我的代码的帮助。我正在尝试创建一个JOptionPane输入对话框,该对话框将从用户的选项1或选项2获取输入,并根据第一个输入显示下一个菜单。1和2的结果会有所不同

我这样做对吗

代码:

编辑:

if (value == 1) {
    List<String> optionList2 = new ArrayList<String>();
        optionList2.add("ECB");
        optionList2.add("CBC");

        Object[] options2 = optionList2.toArray();

        int value2 = JOptionPane.showOptionDialog(null, 
        "Please select your mode of operation:\n 1. Cipher Block Chaining(CBC) \n 2. Electronic Codebook(ECB)", 
        "Select",
        JOptionPane.YES_NO_OPTION,
        JOptionPane.QUESTION_MESSAGE, 
        null,
        options, 
        optionList2.get(0));

        String option2 = optionList2.get(value2);
}}

不确定为什么要使用输入对话框。输入对话框将返回输入字段中输入的值,如果对话框被取消,则返回null,这似乎不是您真正想要的

相反,请尝试使用标准输入对话框

List<String> optionList = new ArrayList<String>();
optionList.add("1");
optionList.add("2");

Object[] options = optionList.toArray();
int value = JOptionPane.showOptionDialog(
                null,
                "Please select your encryption Algorithm:(1 or 2)\n 1. Data Encryption       Standard(DES) \n 2. Advanced Encryption Standard(AES)",
                "Pick",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                optionList.get(0));

String opt = optionList.get(value);
System.out.println("You picked " + opt);

感谢@MadProgrammer的帮助!这就是我需要的!我是否可以将选项名称从1和2更改为AES和DES?再次感谢!更改添加到选项列表中的内容,JopOptions窗格将使用这些值作为按钮的文本,并返回所选选项的索引…好的,谢谢@MadProgrammer,一切正常。但它似乎对我的第二份菜单不起作用。我仍然可以选择AES和DES,而不是CBC和ECB。你能帮我解决这个问题吗?非常感谢你!
List<String> optionList = new ArrayList<String>();
optionList.add("1");
optionList.add("2");

Object[] options = optionList.toArray();
int value = JOptionPane.showOptionDialog(
                null,
                "Please select your encryption Algorithm:(1 or 2)\n 1. Data Encryption       Standard(DES) \n 2. Advanced Encryption Standard(AES)",
                "Pick",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                optionList.get(0));

String opt = optionList.get(value);
System.out.println("You picked " + opt);