Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
6. Для того, чтобы дать пользователю возможность выбирать даты есть отличный компонент jcalendar
9. Для того, чтобы изменить компоненты swing из другого потока нужно использовать посредника:
В целом разработка под swing парадовала обилием документации и примеров на все случаи жизни. Если интересно могу еще в том же духе поподробней рассказать про фишки JTable.
2. Не нравятся они мне. Мне нравится свинговый GroupLayout, все остальные не так мощны.Мне тоже нравился вначале GroupLayout. Но вообще, там внутри концепция мозгоразрывная. А единственный вменяемый дизайнер из Netbeans тоже имеет ряд глюков и иногда перекашивает весь layout, и ничего не поделаешь. Так что теперь склоняюсь к GridBagLayout. Хотя, layout'ы в AWT/Swing кривоваты. Например, у GridBagLayout нельзя задавать промежутки между ячейками (insets — это несколько другое).
ImageRegistry registry = new ImageRegistry(display);
registry.put(APP_ICON_32, ImageDescriptor.createFromFile(MyMainWindow.class, "images/icon-32.png"));
Image icon = registry.get(APP_ICON_32);CustomImageRegistry registry = new CustomImageRegistry(display, MyMainWindow.class, "/images/");
Image icon = registry.load("icon-32.png");1. Многие из кучи этих констант трудно было бы отнести к какому-то отдельному классу, поэтому они универсальные. Ну с точки зрения «православного» ООП, стили в виджеты следовало бы передавать через java.util.Set, но это довольно тяжеловесный объект, да и создавать его достаточно многословно. А EnumSet в те времена ещё не существовал.
Понятия baseline у стандартных виджетов и layout managers нету, но при необходимости можно реализовать такой менеджер. Свойства для baseline в базовом классе Control не предусмотрено, но к каждому контролу можно прилеплять метаинформацию через setData().
3. Не убогие таблицы есть только в Excel :), но там они не являются нативными контролами.
4. Загрузка иконки стандартными методами
При помощи самописного класса:
Глобальный обработчик событий клавиатуры можно повесить на Display методом addFilter().
<signjar alias="akvel" jar="${dist_jar}" keystore="myKeyStore1" storepass="123456"/>
public Component getTableCellEditorComponent(JTable a, Object b, boolean c, int d, int e) { selectedRow = row; selectedColumn = column; setFocusable(false); return this; }
Swing. Десять полезных простых вещей