Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 结果显示JFrame文本警报_Java_Multithreading_Swing - Fatal编程技术网

Java 结果显示JFrame文本警报

Java 结果显示JFrame文本警报,java,multithreading,swing,Java,Multithreading,Swing,我正在开发一个小的swing应用程序来处理一些多线程/同步,但这不是重点。 我基本上有3匹马在比赛,当其中一匹跑完后,一个盒子会弹出,说“马赢了”。这就是我现在所拥有的,因为我无法找到一个简单的窗口来显示获胜者 if(horsea.getX()>=415){ PausableThread.pause(); String result=JOptionPane

我正在开发一个小的swing应用程序来处理一些多线程/同步,但这不是重点。 我基本上有3匹马在比赛,当其中一匹跑完后,一个盒子会弹出,说“马赢了”。这就是我现在所拥有的,因为我无法找到一个简单的窗口来显示获胜者

                    if(horsea.getX()>=415){
                        PausableThread.pause();
                        String result=JOptionPane.showInputDialog("Horse #1 Wins!");
                        PausableThread.unpause();
                        setReset(true);
                        PausableThread.pause();
                    }
                    else if(horseb.getX()>=415){

                        PausableThread.pause();
                        String result=JOptionPane.showInputDialog("Horse #2 Wins!");
                        PausableThread.unpause();
                        setReset(true);
                        PausableThread.pause();

                    }
                    else if(horsec.getX()>=415){

                        PausableThread.pause();
                        String result=JOptionPane.showInputDialog("Horse #3 Wins!");
                        PausableThread.unpause();
                        setReset(true);
                        PausableThread.pause();
                    }
我知道这是一个对话框,我知道还有其他方法,比如showMessageDialog或其他什么,但idk这些方法的参数是什么

谢谢你的帮助

编辑:

这就是我想用的,但我不确定“框架”是什么

这就是我想要显示的消息类型,但是在帧的位置下有一个错误

编辑:

用这个就知道了

JOptionPane.showMessageDialog(getRootPane(),"Horse 2 is the winner", "We Have A Winner!", JOptionPane.PLAIN_MESSAGE);

谢谢你对鳗鱼的帮助

不要使用showInputDialog。如果您需要了解用户的响应,请使用
JOptionPane.showConfirmDialog(…)
,否则请使用
showMessageDialog(…)

最重要的是,请查看,以获取关于可用JOptionPane选项以及如何使用这些选项的完整描述


编辑
你说:

这就是我想用的,但我不确定“框架”是什么


在这里,我们需要更多地了解您当前的计划。假设您当前的程序显示一个主GUI,如JFrame或JApplet,并且发生了一些事件来刺激其中一个JoptionPane显示。如果是这样,那么“frame”变量可以引用主JFrame上的任何组件,或者主JFrame本身。如果您的程序没有显示主JFrame(或其他顶级窗口),则frame可以为空


另外,您需要去掉
stringresult=…
,因为
showMessageDialog(…)
只显示一条消息而不返回字符串。我认为这会产生一个编译器错误。

不要使用showInputDialog。如果您需要了解用户的响应,请使用
JOptionPane.showConfirmDialog(…)
,否则请使用
showMessageDialog(…)

最重要的是,请查看,以获取关于可用JOptionPane选项以及如何使用这些选项的完整描述


编辑
你说:

这就是我想用的,但我不确定“框架”是什么


在这里,我们需要更多地了解您当前的计划。假设您当前的程序显示一个主GUI,如JFrame或JApplet,并且发生了一些事件来刺激其中一个JoptionPane显示。如果是这样,那么“frame”变量可以引用主JFrame上的任何组件,或者主JFrame本身。如果您的程序没有显示主JFrame(或其他顶级窗口),则frame可以为空


另外,您需要去掉
stringresult=…
,因为
showMessageDialog(…)
只显示一条消息而不返回字符串。我认为这会产生一个编译器错误。

不要使用showInputDialog。如果您需要了解用户的响应,请使用
JOptionPane.showConfirmDialog(…)
,否则请使用
showMessageDialog(…)

最重要的是,请查看,以获取关于可用JOptionPane选项以及如何使用这些选项的完整描述


编辑
你说:

这就是我想用的,但我不确定“框架”是什么


在这里,我们需要更多地了解您当前的计划。假设您当前的程序显示一个主GUI,如JFrame或JApplet,并且发生了一些事件来刺激其中一个JoptionPane显示。如果是这样,那么“frame”变量可以引用主JFrame上的任何组件,或者主JFrame本身。如果您的程序没有显示主JFrame(或其他顶级窗口),则frame可以为空


另外,您需要去掉
stringresult=…
,因为
showMessageDialog(…)
只显示一条消息而不返回字符串。我认为这会产生一个编译器错误。

不要使用showInputDialog。如果您需要了解用户的响应,请使用
JOptionPane.showConfirmDialog(…)
,否则请使用
showMessageDialog(…)

最重要的是,请查看,以获取关于可用JOptionPane选项以及如何使用这些选项的完整描述


编辑
你说:

这就是我想用的,但我不确定“框架”是什么


在这里,我们需要更多地了解您当前的计划。假设您当前的程序显示一个主GUI,如JFrame或JApplet,并且发生了一些事件来刺激其中一个JoptionPane显示。如果是这样,那么“frame”变量可以引用主JFrame上的任何组件,或者主JFrame本身。如果您的程序没有显示主JFrame(或其他顶级窗口),则frame可以为空


另外,您需要去掉
stringresult=…
,因为
showMessageDialog(…)
只显示一条消息而不返回字符串。我想这会产生一个编译器错误。

对不起,我不清楚您的问题是什么。为什么JOptionPane不能为您工作?好吧,JOptionPane.showInputDialog(“…”);显示消息,但它也显示一个我不想要的文本框“文本框”是什么意思?你想得到什么效果?更多的描述和/或图片可以帮助我们更好地理解您的问题。我想知道本页顶部的内容,但我现在的内容显示了我的文本,但还有一个文本字段
我不确定“frame”是什么。
-API说应该是什么?本教程的示例使用了什么?你搜索过论坛/网站吗
JOptionPane.showMessageDialog(getRootPane(),"Horse 2 is the winner", "We Have A Winner!", JOptionPane.PLAIN_MESSAGE);
            else if(horseb.getX()>=415){

                PausableThread.pause();
                String result=JOptionPane.showMessageDialog(frame, "Horse 2 is the winner", "We Have A Winner!", JOptionPane.PLAIN_MESSAGE);
                PausableThread.unpause();
                setReset(true);
                PausableThread.pause();

            }