Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Swing - Сравнение с AWT02 мая 2011Оглавление: 1. Swing 2. Принцип Lightweight 3. Look and Feel 4. Сравнение с AWT В отличие от Swing, AWT использует только стандартные элементы ОС для отображения, то есть для каждого элемента создается отдельный объект ОС, в связи с чем, AWT не позволяет создавать элементы произвольной формы, элементы управления на основе AWT всегда отображаются поверх Swing-элементов. Примеры«Hello World» с использованием Swing: import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingUtilities; public final class HelloWorld implements Runnable { public static void main { // Swing имеет собственный управляющий поток, // который работает параллельно с основным) // потоком. Это означает что если основной поток закончит работу, // поток отвечающий за работу Swing-интерфейса может продолжать свою работу. // И даже если пользователь закрыл все окна, программа продолжит свою работу //. Начиная с Java 6, когда все компоненты уничтожены, // управляющий интерфейсом поток останавливается автоматически. // // Запускаем весь код работающий с интерфейсом в управляющем потоке, даже инициализацию: SwingUtilities.invokeLater ); } public void run { // Создаем окно с заголовком "Hello, World!" JFrame f = new JFrame ; // Ранее практиковалось следующее: создавался listener и регистрировался // на экземпляре главного окна, который реагировал на windowClosing // принудительной остановкой виртуальной машины вызовом System.exit // Теперь же есть более "правильный" способ задав реакцию на закрытие окна. // Данный способ уничтожает текущее окно, но не останавливает приложение. Тем // самым приложение будет работать пока не будут закрыты все окна. f.setDefaultCloseOperation ; // однако можно задать и так: // f.setDefaultCloseOperation; // Добавляем на панель окна нередактируемый компонент с текстом. //f.getContentPane.add); - старый стиль f.add); // pack "упаковывает" окно до оптимального размера, рассчитанного на основании размеров // всех расположенных в нем компонентов. f.pack; // Показать окно f.setVisible; } } Смена вида интерфейса с помощью Look-And-Feel: try { UIManager.setLookAndFeel; SwingUtilities.updateComponentTreeUI; } catch { System.out.println; } Использование системного Look-And-Feel: //Необходимо помнить, что изменение L&F приложения должно быть выполнено до //инициализации каких-либо компонентов Swing, иначе они могут быть инициализированы //Java L&F, независимо от того, какой L&F вы запрашивали. public static void main { try { UIManager.setLookAndFeel); } catch { //Exception handle } Просмотров: 3429
|