В этой статье описывается простой блокнот, реализованный на Java. Поделитесь этим со всеми для справки. Подробности следующие:
Я чувствую, что это выглядит не так красиво, как то, что я написал раньше с использованием Windows API. . .
Версия JDK: 1.7.0
Эффект такой, как показано ниже:
Исходный код выглядит следующим образом:
import java.io.*; import java.awt.*; import java.awt.event.*; /** * Главное окно * @author Neo Smith */ class PadFrame расширяет Frame { Private MenuBar mb; Private Menu MenuFile; частное меню MenuEdit; частное MenuItem [] miFile; частное TextArea ta; окончательный частный фрейм = this /** * Внутренний класс * Обработчик сообщения */ class EventExit реализуется ActionListener { public void actionPerformed(ActionEvent e) { System.exit(0); } } class SystemExit расширяет WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } class EventMenuClose реализует ActionListener { public void actionPerformed( ActionEvent e) { ta.setText(null } } Класс EventOpenFile реализует ActionListener {public); void actionPerformed(ActionEvent e) { //Создаем диалог OpenFile FileDialog dlg = new FileDialog(frame,"Open Files",FileDialog.LOAD(); String strPath; if((strPath = dlg.getDirectory()); ) != null) { //получим полный путь к выбранному файлу strPath += dlg.getFile(); //открываем файл, пробуем { FileInputStream fis = new FileInputStream(strPath); BufferedInputStream bis = new BufferedInputStream(fis); byte[] buf = new byte[3000]; int len = bis.read (buf); ta.append(new String(buf,0,len)); bis.close(); ex) { ex.printStackTrace(); } } } } /** * Метод построения * Добавление компонентов меню и TextArea * @param strTitle */ public PadFrame(String strTitle) { super(strTitle); this.setSize(900, 630); //Создаем строку меню mb = new MenuBar(); Menu("Файл"); MenuEdit = новое меню("Редактировать"); miFile = новый MenuItem[]{новый MenuItem("Открыть"), новый MenuItem("Закрыть"), новый MenuItem("Выход")}; .setMenuBar(mb); mb.add(menuFile); mb.add(menuEdit); for(int i = 0; я < miFile.length ; ++i) {menuFile.add(miFile[i]); //Добавляем дескриптор события setMenuEventHandle(new EventExit(),"File",2); setMenuEventHandle(new EventOpenFile(),"File", 0); setMenuEventHandle(новый EventMenuClose(), "Файл", 1); this.addWindowListener(новый); SystemExit()); // добавляем компонент TextArea ta = new TextArea(30,30); this.add(ta); public void setMenuEventHandle(ActionListener al,String strMenu,int index) { if(strMenu == "File) ") { miFile[index].addActionListener(al); } } public int getMenuItemAmount(String strMenu) { if("File" == strMenu) { return miFile.length; } return -1; } public static void main(String[] args) { PadFrame f = new PadFrame("NotePad"); }Я надеюсь, что эта статья будет полезна каждому, кто занимается программированием на Java.