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