Вот пример простой программы блокнот 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