Вот пример простой программы блокнот JNotepad, вот сам код:

Код:
// Чтобы 
import java.io.*; 
import java.util.*;

import javax.swing.*;
import java.awt.event.*;
                 

public class JNotepad extends JFrame implements ActionListener {
  private JTextArea txt = null; // Текстовое поле
  private String strFilename = ""; // Имя файла
  private JMenuItem popupNew = null; // Вертикальное меню "Новый"
  private JMenuItem popupOpen = null; // Вертикальное меню  "Открыть файл"
  private JMenuItem popupSave = null; // Вертикальное меню "Сохранить файл"
  private JMenuItem popupSaveAs = null; // Вертикальное меню "Сохранить файл как"
  private JMenuItem popupQuit = null; // Вертикальное меню "Выход"

  public JMenuBar showMenu() {
     JMenuBar mnuBar = new JMenuBar(); // Горизонтальная меню панель
     // Горизонтальное меню  ---------------------------------------------------------
     // Файл
     JMenu mnuFile = new JMenu("Файл"); // Новое меню "Файл"
     mnuFile.setMnemonic('Ф'); // Горячая клавиша "Ф"
     mnuBar.add(mnuFile); // Добавляем меню "Файл" в JMenuBar
     // Редактированиеё
     JMenu mnuEdit = new JMenu("Редактирование"); // Новое меню "Редактирование"
     mnuEdit.setMnemonic('Р'); // Горячая клавиша "Р"
     mnuBar.add(mnuEdit); // Добавляем меню "Редактирование" в JMenuBar
     // Помощь
     JMenu mnuHelp = new JMenu("Помощь"); // Новое меню "Помощь"
     mnuHelp.setMnemonic('П'); // Горячая клавиша "П"
     mnuBar.add(mnuHelp); // Добавляем меню "Помощь" в JMenuBar
     // Вертикальное меню -----------------------------------------------------
     // Файл
     popupNew = new JMenuItem("Новый"); // Новое вертикальное меню "Новый"
     popupNew.setMnemonic('Н'); // Горячая клавиша
     popupNew.addActionListener(this); // Добавляем обработчик события

     popupOpen = new JMenuItem("Открыть файл"); // Новое вертикальное меню "Новый"
     popupOpen.setMnemonic('О'); // Горячая клавиша "О"
     popupOpen.addActionListener(this); // Добавляем обработчик события

     popupSave = new JMenuItem("Сохранить файл"); // Добавляем обработчик события
     popupSave.setMnemonic('С'); // Горячая клавиша "С"
     popupSave.addActionListener(this); // Добавляем обработчик события

     popupSaveAs = new JMenuItem("Сохранить файл как"); // Новое вертикальное меню "Новый"
     popupSave.setMnemonic('К'); // Горячая клавиша "К"
     popupSave.addActionListener(this); // Добавляем обработчик события

     popupQuit = new JMenuItem("Выход"); // Новое вертикальное меню "Новый"
     popupQuit.setMnemonic('В'); // Горячая клавиша "В"
     popupQuit.addActionListener(this); // Добавляем обработчик события

     // Редактирование

     // Add menu items to menus  -------------------------------------
     // Файл
     mnuFile.add(popupNew); // Добавляем меню "Новый" в горизонтальное меню mnuFile
     mnuFile.addSeparator();  // Добавляем меню "Новый" в горизонтальное меню mnuFile
     mnuFile.add(popupOpen);  // Добавляем меню "Открыть" в горизонтальное меню mnuFile
     mnuFile.add(popupSave); // Добавляем меню "Сохранить" в горизонтальное меню mnuFile
     mnuFile.add(popupSaveAs); // Добавляем меню "Сохранить как" в горизонтальное меню mnuFile
     mnuFile.addSeparator(); // Добавляем меню разделительную черту в горизонтальное меню mnuFile
     mnuFile.add(popupQuit); // Добавляем меню "Выход" в горизонтальное меню mnuFile
     // Редактирование


     return mnuBar; // Возвращаем объект
  }

  // Конструктор
  public JNotepad() {
    setTitle("JNotepad программа блокнот 1.0"); // Установить заголовок окна "JNotepad программа блокнот 1.0"
    setSize(640, 480); // Установить размер окна 640x480
    setJMenuBar(showMenu()); // Добавить меню
    txt = new JTextArea(); // Текстовое поле
    add(txt); // Добавить текстовое поле
    setVisible(true); // Отобразить приложение
  }

   // Чтение из файла
  private String read(File f) {
    String strData = ""; // Инициализируем переменную
    try {
      Scanner rd = new Scanner(f); // Инициализация 
      // Циклить пока есть что прочитать из файла
      while(rd.hasNextLine()) { 
        strData += rd.nextLine(); // Читаем из файла и заносим в переменную
      }
    }
    catch(IOException e) {
      e.printStackTrace(); // Если ошибка, то отображаем ошибку
    }
    return strData; // Возвращаем данные из переменной 
  }

   // Чтение из файла
  private String read(String strFilename) {
    return read(new File(strFilename)); // Вызов метода, для чтения файла
  }
        
  // Запись в файл
  private void write(File f, String strData) {
    try {
      FileWriter fw = new FileWriter(f); // Открываем файл для записи
      fw.write(strData); // Записываем текст из переменной strData в файл
      fw.close(); // Закрываем файл
    }
    catch(IOException e) {
      e.printStackTrace(); // Если ошибка, то отображаем ошибку
    }
  }

  // Запись в файл
  private void write(String strFilename, String strData) {
    write(new File(strFilename), strData); // Записываем в файл
  }

  // Отображение диалог "Открыть файл"
  private void OpenDialog() {
    JFileChooser fc = new JFileChooser(); // Инициализация диалогового окна "Открыть файл"
    // Если нажали на OK
    if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
      txt.append(read(fc.getSelectedFile())); // Загрузка файла, и добавления текста из файла в поле 
      strFilename = ""; // Имя файла очищаем
    }
  }

  private void SaveDialog() {
    JFileChooser fc = new JFileChooser(); // Инициализация диалогового окна "Сохранить файл"
    // Если нажали на OK
    if(fc.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
      write(fc.getSelectedFile(), txt.getText()); // Запись в файл из текстового поле
    }
  }

  public static void main(String[] args) {
    new JNotepad(); // Запуск приложения
  }

  public void actionPerformed(ActionEvent e) {
    // Отчистить поле
	if(e.getSource() == popupNew) {
        txt.setText(""); // Очищаем поле
        strFilename = ""; // Очищаем имя файла
    } else if(e.getSource() == popupOpen) OpenDialog(); // Показать диалог "Открыть файл"
      else if(e.getSource() == popupSave) SaveDialog(); // Показать диалог "Сохранить файл"
      else if(e.getSource() == popupQuit) System.exit(0); // Выход из программы
  }
}

позже код подправлю и улучшу.

P.S.:По Java больше ничего писать не буду, все уроки смотрите тут - https://groups.germany.ru/1299414/f/403 … d&sb=5