Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - 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
}
Просмотров: 3871
|