javax.swing.JOptionPane
这是我想弹出一个信息框时所调用的方法的代码,它将占据屏幕,直到被接受为止:
import javax.swing.JOptionPane;public class ClassNameHere{ public static void infoBox(String infoMessage, String titleBar) { JOptionPane.showMessageDialog(null, infoMessage, "InfoBox: " + titleBar, JOptionPane.INFORMATION_MESSAGE); }}第一个
JOptionPane参数(
null在此示例中)用于对齐对话框。
null使其在屏幕上居中,但是
java.awt.Component可以指定任何内容,而对话框将显示在屏幕中央
Component。
我倾向于使用
titleBarString来描述调用该框的代码在哪里,这样,如果它变得令人讨厌,我可以轻松地查找并删除负责使用infoBoxes向屏幕发送垃圾邮件的代码。
要使用此方法调用:
ClassNameHere.infoBox("YOUR INFORMATION HERE", "TITLE BAR MESSAGE");javafx.scene.control.alert
有关如何使用JavaFX对话框的详细说明,请参见:Code.makery的JavaFX对话框(官方)。它们比Swing对话框更强大,更灵活,并且不仅具有弹出消息的功能。
如上所述,我将发布一个小示例,说明如何使用JavaFX对话框实现相同的结果
import javafx.scene.control.alert;import javafx.scene.control.alert.alertType;import javafx.application.Platform;public class ClassNameHere{ public static void infoBox(String infoMessage, String titleBar) { infoBox(infoMessage, titleBar, null); } public static void infoBox(String infoMessage, String titleBar, String headerMessage) { alert alert = new alert(alertType.INFORMATION); alert.setTitle(titleBar); alert.setHeaderText(headerMessage); alert.setContentText(infoMessage); alert.showAndWait(); }}要记住的一件事是JavaFX是一个单线程GUI工具箱,这意味着应该直接从JavaFX应用程序线程调用此方法。如果您有另一个线程正在工作,需要对话,请参阅以下SO问答:Platform.Runlater和TaskJavafx。
要使用此方法调用:
ClassNameHere.infoBox("YOUR INFORMATION HERE", "TITLE BAR MESSAGE");要么
ClassNameHere.infoBox("YOUR INFORMATION HERE", "TITLE BAR MESSAGE", "HEADER MESSAGE");


