Java/Блокнот
Материал из Викиучебника
< Java
Содержание |
[править] Дизайн программы
Напишем простой блокнот, в котором можно редактировать текст и сохранять его в файл.
[править] Функциональность
- Прочитать текст из файла
-
- Текстовые файлы
- Создание нового текста
- Сохранение в файл
- Закрытие программы
- Редактирование текста
- Отображение окна автора
[править] Внешний вид
Простое окно с меню.
- Меню
- File
- New
- Open
- Save
- Exit
- Help
- About
- File
[править] Отладка
Чтобы процесс отладки не был скучен — создадим сразу главный класс: 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 }
На что следует обратить внимание:
- В строке 2 панель получает BorderLayout, а в строке 4 константа BorderLayout.CENTER указывает на то, каким образом расположить компоненту на панели.
- JFrame не является панелью, поэтому мы создаем panel — чтобы установить её на contentPane JFrame (строка 5).
[править] Классы
Финальные версии классов:
- Note.java — главный класс программы
- NoteFrame.java — класс главного окна
- NoteAbout.java — класс окна подсказки