Why not just keep your references to the windows?
NewWindow[] windows = new NewWindow[v.length];
for (int i = 0; i < v.length; i++) {
// (...)
windows[i] = new NewWindow();
}
Or, alternatively:
ArrayList<NewWindow> windows = new ArrayList<NewWindow>(v.length);
for (int i = 0; i < v.length; i++) {
// (...)
windows.add(new NewWindow());
}
EDIT:
Or as per skirsch's answer, if you want to be able to access the windows by the value of the string, use a Map<String, NewWindow>