Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > Кнопка на Яве |
Автор: Syltan 21.6.2010, 18:22 | ||
Хотел уточнить пару непонятных моментов по коду:
1) Что означает ActionEvent ae? Что Такое ActionEvent и что такое ае, что попадает в ае, в этот параметр? 2) Что такое new Runnable() зачем оно нужно в главной функции меин? 3)Вот эту строку n2.addActionListener(new ActionListener() прокоментируйте пожалуйста, не понятно что здесь происходит. Заранее благодарю. |
Автор: jk1 21.6.2010, 20:08 | ||||||
Этой строкой добавляется обработчик событий, которые генерирует компонент. Например у кнопки это будет нажатие на кнопку. Обработчиков можно добавлять любое количество и каждый из них будет извещен о том, что кнопка нажата. При этом у обработчика будет вызван метод actionPerformed(ActionEvent ae). ActionEvent в данном случае содержит информацию о том, какой объект был источником события и когда оно произошло. На самом деле в Swing реализовано большое количество самых разных событий и классов-обработчиков. Подробнее об обработке событий в Swing читайте http://java.sun.com/docs/books/tutorial/uiswing/events/index.html.
Все дело в том, что Swing по своей природе однопоточен и всю работу с его компонентами надо производить в специальном потоке, который называется EDT. Вот этот код
Заставляет выполнить содержимое метода Run в том самом потоке. Если это ограничение не соблюдать, возможно появление труднопредсказуемых неповторяемых ошибок в самых неожиданных местах. |
Автор: major32 9.7.2010, 20:43 | ||
|
Автор: vatuska 19.9.2010, 17:55 |
Доброго времени суток, в java новичок, платформа NetBeans 6.9.1. Что нужно написать в обработчике нажатия на кнопку, чтобы после нажатия окно закрылось? Помимо этого в обработчике выполняются ещё некоторые действия. |
Автор: mstalker26 19.9.2010, 20:50 |
смотря какое окно, setVisible(false) думаю должно хватить. |
Автор: armixx 19.9.2010, 21:27 |
Добрый вечер. Закрыть или уничтожить? У меня есть окна ( диалоги), которые я гашу и открываю по setVisible. Если прекратить работу, то - dispose(); Примерно так: new JButton().addActionListener (new ActionListener() { public void actionPerformed(ActionEvent ae) { ... window.dispose(); } }); Дополнительно: при этом вызывается WindowListener() и передаётся WindowEvent в метод windowClosing, в котором можно обработать закрытие окна). Примечание: Вместо WindowListener() проще использовать WindowAdapter(), у которого достаточно перекрыть только требуемый метод. Процедура добавления слушателя "окна" может выглядеть так: window.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Нас хотят закрыть. } @Override public void windowClosingWindowEvent e) { // Нас закрыли. } }); Добавлено через 1 минуту и 48 секунд Виноват! 2-й метод: public void windowClosed(WindowEvent e) |
Автор: Su_ 19.9.2010, 22:56 | ||
Если отдельная кнопка то:
Если кнопка-крестик, то через Adapter как описал armixx |