# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
3 теста |
|||
Java курс по использованию JFrame, JPanel, Buffered Image. Мы создадим аналог игры "Балда" - нарисуем буквы в сетке. Будет использована архитектура "Матрёшка", в которой объекты не наследуют, а имеют друг друга. На этом уроке мы сформулируем задачу и наметим способ её разработки. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Сразу же увидел слово UFO (у левого края, чуть выше центра) и больше ничего искать не стал, очень много ностальгии связано с этим слово. |
|||||
2 | Кот Фрейма |
2 теста |
|||
На этом уроке мы сделаем небольшой рефакторинг - создадим свой класс Frame extends JFrame, в который перенесём весь функционал по созданию окна программы. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Добавил класс Panel. Разместил экземпляр класса Panel на поле Frame. Перенёс определение размера 600х400 в класс Panel. Добавил Panel во Frame. Подогнал размер Frame под размеры Panel. |
|||||
3 | Буква на Панели |
3 теста |
|||
На этом уроке мы создадим класс Panel, создадим панель из класса Frame. Потом мы выведем на панель букву А, пускай обживается и привыкает, скоро их там будет очень много :) Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Рисованию текста на панели не стандартным шрифтом и цветом с авто-смещением по центру формы. Сложности: найти время Комментарии: Метод pack() относится к классу Frame, а не Panel, я бы посоветовал его добавить именно туда, куда надо (см. скриншот). з.ы. Чтобы было понятно, что он делает, приведу аналогию с бильярдными шарами, их в начале игры собирают вместе в виде треугольника (классический) и чтобы они стояли ровненько, используют треугольник, так вот этот треугольник и есть pack(), который использовали 1 раз в конце, когда разместили рядом все шары. Не надо треугольников ровнять каждый добавленный шар =) |
|||||
4 | Своя Картинка |
1 тест |
|||
На этом уроке мы создадим класс Picture унаследованный от BufferedImage. Установим цвет фона для картинки, выведем текст. Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Созданию кастомного класса картинки и дальнейшей работе с ним. Сложности: найти время Комментарии: По поводу того, что Frame не обрамил Panel и справа/снизу виднелся белый фон Frame, это потому что pack() не туда засунули, я об этом говорил на прошлом уроке, в этом уточнить хочу, потому же так вышло, потом что pack() должен быть ДО метода: setLocationRelativeTo() - чтобы окно Frame центрировалось корректно. ПОСЛЕ метода: setResizable(false) - чтобы как раз ровно упаковывало объекты на поле Frame. з.ы. На скриншоте показал где должен находиться метод pack(). |
|||||
5 | Центр Бокса |
2 теста |
|||
На этом уроке мы создадим класс Box, нарисуем рамку и выведем в центре букву. Для вычисления видимой высоты используйте font.getFontMetrics().getAscent() Отчёт отправил: 10558. Иван Воронин Выполнено за 40 мин. [Показать отчёт] Научился: Центровке шрифта относительно его ТТХ =) Сложности: найти время Комментарии: Нарисовал буковки с тенью =) Нашёл в сети такую схему (см. скриншот) где показано как называются линии вертикалей буков по стандарту, если шрифт не придерживается этих правил, то эти данные бесполезны. Нашёл одноимённые названия, а именно нужен .getFontMetrics().getAscent() |
|||||
6 | Матрица Боксиков |
1 тест |
|||
На этом уроке мы создадим матрицу боксиков. В методе init() мы будем их создавать. В методе init() мы будем их рисовать. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Смещение клеток сделал по своему, вроде красиво выглядит =) |
|||||
7 | Сохранение картинки |
1 тест |
|||
На этом уроке мы сохраним сгенерированную картинку в файл.
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Сохранению картинки в файл. Сложности: найти время Комментарии: Вынес размеры клеток и поля за пределы панели, теперь они передаются в панель при создании её экземпляра. Уроки отличные, пригодятся. Вначале закончу начатые курсы. |
|||||
8 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Напишите отзыв об этом курсе.
Отчёт отправил: 10558. Иван Воронин Выполнено за не указано [Показать отчёт] Комментарии: Курс очень понравился, интересная матрёшка получилась, чем то даже рекурсивный метод напоминает с лимитом погружения. А если ещё ответвления сделать, то уже целая грибница получится. Работа со шрифтами, сохранением итогового файла, случайная генерация объектов, осталось добавить событие клика мышки, подгрузить текстовый файл со словами и можно играть в филворд =) Ещё раз огромное спасибо за эти уроки, они показывают возможности и варианты направления движения в изучении языков. |
|||||
9 | VIP Implementation |
1 тест |
|||
Нарисуем на сетке одно длинное слово и закрасим остальные клетки случайными буквами. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отличный урок, добавил отрисовку слова другим цветом, подправил тень. Спасибо за урок, алгоритм так и представлял. |
|||||
Итого: 9 видеоуроков |
1 час. 53 мин. 14 тестов |
15 чел. | |||
Финалисты: Иван Воронин, Максим Лапшинов, Новопашин Владимир, Алексей В., Сергей Соколов, Tekashnik, zhikharevav, Станислав, Елена, Александр, Dmitry Sinitsin, Chip, grom518, Anatoli, Tom . |