Java/Блокнот
Блокнот
{{Готовность|0%}}
- Hello World!
- Комментарии
- Переменные
- Стандартные структуры
- Операторы условий
- Полезные сокращения
- Операторы цикла
- Классы
- Исключения
- Коллекции
- Listeners
- GUI
- Паттерны
- Программы
- Компилирование
Об учебнике
правитьОт читателя требуются основные знания о программировании и общие компьютерные навыки. Числа-номера строк в примерах не являются частью кода.
Документация
правитьДля компиляции и запуска программ вам понадобится JDK (Java Development Kit), который можно скачать по ссылке http://www.oracle.com/technetwork/java/javase/downloads/index.html
Полный справочник Java™ Platform, Standard Edition 6 API Specification опубликован на сайте http://docs.oracle.com/javase/6/docs/api/index.html компании Oracle.
Полный справочник Java™ Platform, Standard Edition 7, API Specification (с апреля 2015 года не обновляется официально) http://docs.oracle.com/javase/7/docs/api/index.html компании Oracle.
Полный справочник Java™ Platform, Standard Edition 8, API Specification опубликован на сайте http://docs.oracle.com/javase/8/docs/api/index.html компании Oracle.
См. также
правитьДизайн программы
правитьНапишем простой блокнот, в котором можно редактировать текст и сохранять его в файл.
Функциональность
править- Прочитать текст из файла
- Текстовые файлы
- Создание нового текста
- Сохранение в файл
- Закрытие программы
- Редактирование текста
- Отображение окна автора
Внешний вид
правитьПростое окно с меню.
- Меню
- File
- New
- Open
- Save
- Exit
- Help
- About
- File
Отладка
правитьЧтобы процесс отладки не был скучен — создадим сразу главный класс: Note с единственной функцией main.
Теперь пишем класс NoteFrame — который является окном с текстовым полем и меню.
Конструктор:
public NoteFrame() { super("Note"); initMenu(); initMainPanel(); initListeners(); }
Мы не знаем что именно будет в init-функциях, но знаем, что выполнив их мы получим полноценное окно. В строке — мы осуществляем вызов конструктора JFrame — опять же не вдаваясь в подробности что он точно делает, просто берем на веру, что JFrame знает что нужно сделать чтобы получилось окно.
В функции initMenu — ничего интересного, все просто и интуитивно.
Строим главную панель:
private void initMainPanel() { JPanel panel = new JPanel(new BorderLayout()); theText = new JTextArea(); panel.add(new JScrollPane(theText), BorderLayout.CENTER); getContentPane().add(panel); }
На что следует обратить внимание:
- Что такое Layout и LayoutManager
- В строке панель получает BorderLayout, а в строке константа BorderLayout.CENTER указывает на то, каким образом расположить компоненту на панели.
- Строение JFrame
- JFrame не является панелью, поэтому мы создаем panel — чтобы установить её на contentPane JFrame (строка ).
Классы
правитьФинальные версии классов:
- Note.java — главный класс программы
- NoteFrame.java — класс главного окна
- NoteAbout.java — класс окна подсказки