返回对话框信息

时间:2016-05-24 19:38:34

标签: java

尝试获取要返回的信息,信息不是从system.out.print ln()语句打印的。我不知道如何更改它以使用该方法打印出信息。

package TESTCODe;
import java.awt.Component;
import javax.swing.Icon;
import javax.swing.JOptionPane;
public class TESTCODe {
private static Component frame;
private static Icon icon;
public static void main(String[] args) {
int selection=0;
    int menu = read_menu();
    while(selection!=3)
    {       if(selection==1)
        {   System.out.println("random");           }
    else
        if(selection==2)
            {System.out.println("WH form");             }
        menu=read_menu();
    }           System.out.println("Exiting");  
 System.exit(0);
  } public static int read_menu()
{       int selection=0;
    Object[] possibilities = {"test1", "test2", "Exit"};
    String s = (String)JOptionPane.showInputDialog(
                        frame,"Choose a form",
                "Form",JOptionPane.PLAIN_MESSAGE,icon,
                        possibilities,"test1");

if(s.equals("test1"))
    {           selection=Integer.parseInt(s);
        selection=1;
    }
    else
        if(s.equals("Wh"))
        {               selection=Integer.parseInt(s);
            selection=2;
        }
        else
            if(s.equals("Exit"))
            {                   selection=Integer.parseInt(s);
                selection=3;
            }return selection;
    }
 }

任何帮助都很有用。谢谢

1 个答案:

答案 0 :(得分:0)

替换以下行:

int menu = read_menu();

使用:

selection = read_menu();

原因:您正在打印" selection"的值,但您已将read_menu()函数的返回int分配给" menu"。因此,您需要进行上述替换。

从主方法中删除以下行:

menu=read_menu();

原因:您没有使用"菜单" if ... else循环的变量,也不是使用System.out.println进行打印的,所以为什么要使用它呢?

并删除所有

selection=Integer.parseInt(s);
来自read_menu()函数的

行。

原因:您在下一步中将选择设置为int值,因此该行无用,并且您还尝试将字符串转换为int,这可能会导致错误。

这样您的代码应该按预期工作。