|
|
|
dispose() JFrame'a
|
|||
|---|---|---|---|
|
#18+
Есть JFrame с 2 кнопками, при нажатии на вторую кнопку должен происходить dispose() этого JFram'a и вызов другого класса. Если ,без вызова другого класса, то JFrame закрывается и всё хорошо, а если с вызовом, то он ждёт пока второй класс отработает и только после этого JFrame убирается. final Message mess=new Message(); mess.jButton2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { mess.dispose(); Report q = new Report(objs; } Как сделать, чтоб окно закрывалось сразу же, недожидаясь, завершения работы класса q??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2012, 11:13:27 |
|
||
|
dispose() JFrame'a
|
|||
|---|---|---|---|
|
#18+
Report q = new Report(objs); связан с GUI вообще? Если нет, то просто в новом потоке его запустить. Если связан, то через SwingWorker или SwingUtilities.invokeLater(). Смысл в том что GUI работает в Event Dispatch Thread. И цепочка событий вызваных dispose() не произойдёт, пока Action не отработает. Т.е. этот метод нужно как можно быстрее завершить и отпустить Event Dispatch Thread разгребать Event Queue. А отчет делать или отдельным потоком, или позже в EDT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2012, 11:29:38 |
|
||
|
dispose() JFrame'a
|
|||
|---|---|---|---|
|
#18+
Никак. Слушатель отрабатывает в том же потоке событий, что и dispose(). Без нового потока ничего не выйдет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2012, 18:58:46 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38031376&tid=2130571]: |
0ms |
get settings: |
5ms |
get forum list: |
23ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
56ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 281ms |
| total: | 450ms |

| 0 / 0 |
