Java/Блокнот

Содержание


Об учебнике

От читателя требуются основные знания о программировании и общие компьютерные навыки. Числа-номера строк в примерах не являются частью кода.

Документация

Для компиляции и запуска программ вам понадобится 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.

См. также

Категория:Java#Блокнот%20

Дизайн программы

Напишем простой блокнот, в котором можно редактировать текст и сохранять его в файл.

Функциональность

  • Прочитать текст из файла
Текстовые файлы
  • Создание нового текста
  • Сохранение в файл
  • Закрытие программы
  • Редактирование текста
  • Отображение окна автора

Внешний вид

Простое окно с меню.

  • Меню
    • File
      • New
      • Open
      • Save
      • Exit
    • Help
      • About

Отладка

Чтобы процесс отладки не был скучен — создадим сразу главный класс: Note с единственной функцией main.

Теперь пишем класс NoteFrame — который является окном с текстовым полем и меню.

Конструктор:

1 public NoteFrame() {
2   super("Note");
3   initMenu();
4   initMainPanel();
5   initListeners();
6 }

Мы не знаем что именно будет в init-функциях, но знаем, что выполнив их мы получим полноценное окно. В строке 2 — мы осуществляем вызов конструктора JFrame — опять же не вдаваясь в подробности что он точно делает, просто берем на веру, что JFrame знает что нужно сделать чтобы получилось окно.

В функции initMenu — ничего интересного, все просто и интуитивно.

Строим главную панель:

1 private void initMainPanel() {
2   JPanel panel = new JPanel(new BorderLayout());
3   theText = new JTextArea();
4   panel.add(new JScrollPane(theText), BorderLayout.CENTER);
5   getContentPane().add(panel);
6 }

На что следует обратить внимание:

  • Что такое Layout и LayoutManager
  • В строке 2 панель получает BorderLayout, а в строке 4 константа BorderLayout.CENTER указывает на то, каким образом расположить компоненту на панели.
  • Строение JFrame
  • JFrame не является панелью, поэтому мы создаем panel — чтобы установить её на contentPane JFrame (строка 5).

Классы

Финальные версии классов:

Категория:Java#Блокнот
Категория:Java