Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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的好方法_Java_Frameworks_Design Patterns - Fatal编程技术网

一种将我的所有消息都使用Java的好方法

一种将我的所有消息都使用Java的好方法,java,frameworks,design-patterns,Java,Frameworks,Design Patterns,我正在寻找一个小框架,以一种通用的方式存储我的所有消息。为了更好地理解,我将举一个例子 在我的代码的一部分中,在一个特定的JFrame中,我有一个类似这样的警报: JOptionPane.showMessageDialog(null, "Error, you must provide an integer value", "ERROR", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, Messages.getMe

我正在寻找一个小框架,以一种通用的方式存储我的所有消息。为了更好地理解,我将举一个例子

在我的代码的一部分中,在一个特定的JFrame中,我有一个类似这样的警报:

JOptionPane.showMessageDialog(null, "Error, you must provide an integer value", "ERROR", JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(null, Messages.getMessage(Messages.INTEGER_VALUE), "ERROR", JOptionPane.ERROR_MESSAGE);
所以,这个字符串是:“Error,您必须提供一个整数值”。我想把它放在一个特定的“日志”中,或者类似的东西中,这样我就可以这样做:

JOptionPane.showMessageDialog(null, "Error, you must provide an integer value", "ERROR", JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(null, Messages.getMessage(Messages.INTEGER_VALUE), "ERROR", JOptionPane.ERROR_MESSAGE);
很难解释,希望你能帮助我

谢谢

听起来你需要一份工作。它允许您根据代码维护区域设置敏感的用户可显示消息


它不是一个外部框架,而是JavaSEAPI的一部分。

创建一个名为“Messages”的静态类


在这个函数中,有一个名为getMessage的方法,它接受一个整数,并返回与代码对应的正确错误消息。

听起来更像是需要一个错误消息的查找表。你可以想象并实际制作一个类来为你做这件事或做一些简单的事情:

String errors[] = {"Some error","Some other error"};
JOptionPane.showMessageDialog(null,errors[0],"ERROR", JOptionPane.ERROR_MESSAGE);

Map errors=newhashmap();
错误。put(“提供整数值”,“错误,必须提供整数值”);
showMessageDialog(null,errors.get(“提供INT”),“ERROR”,JOptionPane.ERROR\u消息);

我认为像cal10n这样的东西可能是您正在寻找的框架类型


或。。。您可以编写自己的迷你信息实用程序,如下所示:-

public class MessageUtil {
    enum Message {
        ERROR_INTEGER_REQUIRED("Error", "Error, you must provide an integer value"), 
        ERROR_STRING_REQUIRED("Error", "Error, you must provide a string value"), 
        ERROR_BLA_BLA("Error", "Error, you are doomed"),
        INFO_DATA_SAVED("Note", "Data is successfully saved");

        String  title;
        String  msg;

        private Message(String title, String msg) {
            this.title = title;
            this.msg = msg;
        }
    }

    public static void display(Message message) {
        JOptionPane.showMessageDialog(null, message.msg, message.title, JOptionPane.ERROR_MESSAGE);
    }
}
MessageUtil.display(ERROR_INTEGER_REQUIRED); 
然后,您可以这样做:-

public class MessageUtil {
    enum Message {
        ERROR_INTEGER_REQUIRED("Error", "Error, you must provide an integer value"), 
        ERROR_STRING_REQUIRED("Error", "Error, you must provide a string value"), 
        ERROR_BLA_BLA("Error", "Error, you are doomed"),
        INFO_DATA_SAVED("Note", "Data is successfully saved");

        String  title;
        String  msg;

        private Message(String title, String msg) {
            this.title = title;
            this.msg = msg;
        }
    }

    public static void display(Message message) {
        JOptionPane.showMessageDialog(null, message.msg, message.title, JOptionPane.ERROR_MESSAGE);
    }
}
MessageUtil.display(ERROR_INTEGER_REQUIRED); 

log4j可能会有所帮助-您是否希望将这些字符串外部化到错误消息文件中,以便以后轻松更改?+1表示直接的回答。要添加到此回复中,有关ResourceBundle的教程,请参阅:太好了,正是我所要找的!谢谢兄弟。