如何在 Java 中呈现简单的警报消息?
Posted
技术标签:
【中文标题】如何在 Java 中呈现简单的警报消息?【英文标题】:How to present a simple alert message in java? 【发布时间】:2012-02-25 12:42:41 【问题描述】:来自 .NET,我非常习惯在桌面应用程序中调用 Alert()。然而,在这个 java 桌面应用程序中,我只想提醒一条消息说“感谢您使用 java”,我必须经历这么多的痛苦:
(使用 JOptionPane)
有没有更简单的方法?
【问题讨论】:
您对“更简单”的期望是什么?如果它是冗长的,为什么不将它包装在一些静态实用程序方法中并将其隐藏起来,例如?对了,官方教程是here。 如果您阅读文档而不是 12 年前的教程,然后立即抱怨,您会发现 [只有两个参数的重载:docs.oracle.com/javase/7/docs/api/javax/swing/…,java.lang.Object)。 (其中第一个可能为空。) 【参考方案1】:可以像 javascript 一样简单地使用这段代码:
void alert(String str)
JOptionPane.showMessageDialog(null, str);
【讨论】:
【参考方案2】:我会第一个承认 Java 可能非常冗长,但我不认为这是不合理的:
JOptionPane.showMessageDialog(null, "My Goodness, this is so concise");
如果您使用以下方式静态导入javax.swing.JOptionPane.showMessageDialog
:
import static javax.swing.JOptionPane.showMessageDialog;
这进一步简化为
showMessageDialog(null, "This is even shorter");
【讨论】:
冗长没有错。事实上,我认为这是它的优势之一。 @mre 我猜这要么是个玩笑,要么你误解了“冗长”? @mre 除非您需要打字练习才能过渡到秘书工作,否则我不认为冗长是可取的。 @Dónal 当一些简单的事情需要一整页代码才能工作时,这确实为人们创造了大量额外的工作! :) 嗯,一个关于冗长的论点可以从一个反例中获得——我之前已经花了相当多的时间试图解开单个紧凑行的含义。简短有时会以可读性为代价。当然,冗长不会自动赋予可读性。【参考方案3】:如果您不喜欢“冗长”,您可以随时将代码包装在一个简短的方法中:
private void msgbox(String s)
JOptionPane.showMessageDialog(null, s);
及用法:
msgbox("don't touch that!");
【讨论】:
【参考方案4】:调用“setWarningMsg()”方法并传递你要显示的文本。
exm:- setWarningMsg("thank you for using java");
public static void setWarningMsg(String text)
Toolkit.getDefaultToolkit().beep();
JOptionPane optionPane = new JOptionPane(text,JOptionPane.WARNING_MESSAGE);
JDialog dialog = optionPane.createDialog("Warning!");
dialog.setAlwaysOnTop(true);
dialog.setVisible(true);
或者直接使用
JOptionPane optionPane = new JOptionPane("thank you for using java",JOptionPane.WARNING_MESSAGE);
JDialog dialog = optionPane.createDialog("Warning!");
dialog.setAlwaysOnTop(true); // to show top of all other application
dialog.setVisible(true); // to visible the dialog
您可以使用 JOptionPane。 (WARNING_MESSAGE 或 INFORMATION_MESSAGE 或 ERROR_MESSAGE)
【讨论】:
【参考方案5】:即使不导入swing,你也可以一次接听电话,不管它很长,字符串。否则只需使用 swing 导入和简单调用:
JOptionPane.showMessageDialog(null, "Thank you for using Java", "Yay, java", JOptionPane.PLAIN_MESSAGE);
很简单。
【讨论】:
【参考方案6】:假设你已经有一个 JFrame 来调用它:
JOptionPane.showMessageDialog(frame, "thank you for using java");
见The Java Tutorials: How to Make Dialogs 见the JavaDoc
【讨论】:
如果您没有可用的JFrame
,第一个参数可以是null
。
注意(它可能关注的对象):JOptionPane
在javax.swing
中以上是关于如何在 Java 中呈现简单的警报消息?的主要内容,如果未能解决你的问题,请参考以下文章