我想制作一个弹出框,每个框中都有不同的消息。我不知道消息的数量。我想知道显示这些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();
谢谢
答案 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