java - JOptionPane 输入对话框菜单

标签 java swing joptionpane

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

我的处理方式正确吗?

代码:

public class MyJavaApplication {
    public static void main(String[] args) throws FileNotFoundException {
        //1. Options

        List<String> optionList = new ArrayList<String>(); **//Create an array to store user input**
        optionList.add("1");
        optionList.add("2");

        Object[] options = optionList.toArray(); **//Store option into array**

        Object value = JOptionPane.showInputDialog(null, 
            "Please select your encryption Algorithm:(1 or 2)\n 1. Data Encryption       Standard(DES) \n 2. Advanced Encryption Standard(AES)", 
             null, 
             options, 
             options[0], 
             options[1]); **//JOption input dialog asking for either option one or 2**

        int index = optionList.indexOf(value);

编辑:

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,这似乎不是您真正想要的...

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

Options

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);

关于java - JOptionPane 输入对话框菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21059080/

相关文章:

java - 数组 JOptionPane 版本

java - Moshi 预期为 BEGIN_OBJECT 但为 BEGIN_ARRAY - 自定义转换器被忽略

java - 如何将paintComponent()添加到JPanel

java - 旋转 JLabel 文本的垂直方向

java - 即使触发了正确的事件,GUI 也不会更新当前信息

java - 来自另一个类的 JOptionPane 变量出现问题

java - 如何使用单个 JOptionPane.showMessageDialog() 语句显示多个输出?

java - Android:如何将位图写入内部存储

java - 为什么我的 HTC magic 会出现 OutOfMemoryError 异常?

java - 在java中显示多个图像