我正在开发一个小型 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 或其他方法,但不知道这些方法的参数是什么,
感谢您的帮助!
编辑:
所以这就是我想要使用的,但在我看来,我不确定“框架”是什么。
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();
}
这就是我想要显示的消息类型,但框架所在位置下有错误
编辑:
用这个就搞定了!
JOptionPane.showMessageDialog(getRootPane(),"Horse 2 is the winner", "We Have A Winner!", JOptionPane.PLAIN_MESSAGE);
感谢鳗鱼的帮助!
最佳答案
不要使用showInputDialog。如果您需要知道用户的响应,请使用 JOptionPane.showConfirmDialog(...)
,如果不需要,请使用 showMessageDialog(...)
。
最重要的是,看看 JOptionPanel API有关可用 JOptionPane 选项以及如何使用它们的完整说明。
<小时/>编辑
您声明:
so this is what I want to use but in mine im not sure what "frame" is.
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();
}
<小时/>
在这里,我们必须更多地了解您当前的计划。假设您当前的程序显示一个主 GUI,例如 JFrame 或 JApplet,并且发生了一些事件来刺激 JOptionPanes 之一显示。如果是这样,那么“frame”变量可以引用主 JFrame 上的任何组件,或者主 JFrame 本身。如果您的程序没有显示主 JFrame(或其他顶级窗口),则 Frame 可以为 null。
此外,您还需要删除 String result = ...
因为 showMessageDialog(...)
仅显示一条消息而不返回字符串。我认为这应该会产生编译器错误。
关于java - JFrame 文本警报结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19849972/