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