用Java编写所有消息的好方法

时间:2010-06-29 21:09:24

标签: java frameworks design-patterns

我正在寻找一个小框架,以常见的方式存储我的所有消息。我将举一个更好理解的例子。

在我的代码的一部分中,在一个特定的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);

很难解释,希望你能帮助我。

谢谢!

5 个答案:

答案 0 :(得分:11)

听起来你需要ResourceBundle。它允许您维护对代码进行键控的区域设置敏感的用户可显示消息。

它不是外部框架,它是JavaSE API的一部分。

答案 1 :(得分:2)

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

http://cal10n.qos.ch/

答案 2 :(得分:1)

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

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); 

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

听起来更像是想要一个查找表来查找错误消息。你可能会想到并实际上为你做一个课程或者做一些简单的事情:

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

Map<String,String> errors = new HashMap<String,String>();
errors.put("PROVIDE_INT","Error, you must provide an integer value");
JOptionPane.showMessageDialog(null,errors.get("PROVIDE_INT"),"ERROR", JOptionPane.ERROR_MESSAGE);
相关问题