我有一个字符串数组,我想在Jframes中打印字符串。我使用for来调用另一个类,该类将使用Jpanel创建一个Jframe。它是这样的:

for(int i=0;i!=v.length;i++){
  (...)
  NewWindow wind = new NewWindow();
}


问题是当我想关闭这些Jframe之一时。我知道标题/窗口的名称,但是我丢失了指针,因为wind仅对最后创建的Jframe有效。

我不知道另一种方法来创建未知数量的Jframe,而不丢失指针,或者获得Jframe的焦点。 Java有可能吗?

最佳答案

为什么不只保留对Windows的引用?

NewWindow[] windows = new NewWindow[v.length];
for (int i = 0; i < v.length; i++) {
    // (...)
    windows[i] = new NewWindow();
}


或者,或者:

ArrayList<NewWindow> windows = new ArrayList<NewWindow>(v.length);
for (int i = 0; i < v.length; i++) {
    // (...)
    windows.add(new NewWindow());
}


编辑:
或按照Skirsch的回答,如果您希望能够通过字符串的值访问窗口,请使用Map<String, NewWindow>

10-06 10:47