使用jFrames数组?

时间:2012-04-20 00:15:10

标签: java arrays swing object joptionpane

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

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

谢谢

2 个答案:

答案 0 :(得分:3)

你不能使用JOptionPane吗?它们的设计只是为了显示对话框和消息。

答案 1 :(得分: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