2016-09-26 5 views
0

я следующий код:Java «java.awt.Window» Array добавить пункт в позиции 0

java.awt.Window win[] = java.awt.Window.getWindows(); 
for(int i=0;i<win.length;i++){ 
    win[i].dispatchEvent(new WindowEvent(win[i], WindowEvent.WINDOW_CLOSING)); 
} 

Но моя проблема заключается в том, что первое открытое окно закрывается в первый. Но я должен обернуться. Как я могу это сделать?

+0

Что значит повернуть его вокруг? – Cutter

+0

Первый элемент должен быть последним, а последний должен быть первым ... –

ответ

0

Инициализировать i = (win.length - 1) , а затем сделать i вместо обратного отсчета. Завершите цикл, когда i >= 0.

Ваш вопрос не очень хорошо сформулирован, но если я правильно понимаю, это может сработать.

Как это:

java.awt.Window win[] = java.awt.Window.getWindows(); 
for(int i = (win.length - 1); i >= 0; i--){ 
    win[i].dispatchEvent(new WindowEvent(win[i], WindowEvent.WINDOW_CLOSING)); 
} 
+0

Я получаю сообщение об ошибке: Исключение из потока «AWT-EventQueue-0» java.lang.ArrayIndexOutOfBoundsException: 9 \t at –

+0

Попробуйте сейчас, я думаю это должна быть длина массива минус 1, так как я ее обновил. – Cutter

+0

Спасибо, что работает отлично –

Смежные вопросы