我有一个字符串数组,我想在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>