0

我想制作一个弹出框,每个框中都有不同的消息。我不知道消息的数量。我想知道显示这些 jFrame 的最佳方式是什么。我使用了一个数组,其中数组的长度是消息的数量。问题是我得到了一个 NullPointerExeption。我究竟做错了什么?

    public void interpret() {
    String[] command = html.split(";");

    for (int i = 0; i < command.length; i++) {
        //  System.out.println(command[i]);
        if (command[i].contains("message")) {
            showMessage(command[i].substring(8, command[i].length() - 1));
        }
    }



}
messagePopUp[] mes = new messagePopUp[10]; // I am just using length 10 for debugging

private void showMessage(String line) {

    mes[0].setTextAlert(line); // line giving me the error
    mes[0].setVisible(true);

}

messagePopUp.class 只是一个默认的 jPanel 类,我添加了 setTextAlert();

谢谢

4

2 回答 2

3

你不能用一个JOptionPane吗?它们仅用于显示对话框和消息。

于 2012-04-20T00:18:52.707 回答
2
messagePopUp[] mes = new messagePopUp[10];

这分配了一个包含 10 个 messagePopup 的数组

但不会创建 10 个 messagePopup 对象^^

您需要创建对象并将它们存储在数组中

我会使用类似的东西

private void showMessage(String line, int i) {
   if(mes[i]==null){
      mes[i] = new messagePopUp();
   }
   mes[i].setTextAlert(line); // line giving me the error
   mes[i].setVisible(true);
}

我也同意@Jack,因为您目前所做的 JOptionPane 似乎更适合您的需求

http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

于 2012-04-20T00:20:42.720 回答