После изучения событий Java я сам написал чрезвычайно простой блокнот. Menubar, Menu, Menuitem и другие элементы управления используются, а события включают ActionListener и KeyListener.
Код заключается в следующем:
пакет com.package3; /** Функция: Простая разработка блокнота, вы можете сохранить файлы, открывать файлы и выходить из блокнота* Автор: ywq*/ import javax.swing.*; импортировать java.awt.event.*; импортировать java.io.*; открытый класс menutext {// определить компоненты: jframe f; Menubar MB; // меню меню меню MU; // меню JTextArea JTA; Menuitem OpenItem, SaveItem, CloseItem; // Sumenu Filedialog Opendia, Savedia; // популярный файл файла сохранения и открытия поле; // конструктор public menutext () {// вызов функции инициализации init (); } // Инициализировать компонент public void init () {f = new jframe ("простой блокнот"); mb = new Menubar (); mu = новое меню ("файл"); openItem = new Menuitem ("open"); saveItem = new Menuitem ("save"); bloseItem = new Menuitem ("exit"); jta = new jtextarea (); F.Add (JTA); // добавить mu.add (openitem); mu.Add (saveItem); mu.Add (rolestiTem); mb.add (mu); f.setmenubar (Mb); opendia = new FileDialog (F, «Open», FileDialog.Load); savedia = new FileDialog (F, «Сохранить», FileDialog.Save); // Установить атрибут jframe f.setbounds (200, 300, 500, 400); f.setDefaultCloseoPeration (jframe.exit_on_close); f.setvisible (true); // звонок функция события событие (); } // Функция события для обработки событий public void event () {// open option openitem.addactionListener (new ActionListener () {@Override public void actionPerformed (actionEvent e) {// call openfile ();}}); // Сохранить опцию saveItem.addactionListener (new ActionListener () {@Override public void actionPerformed (actionEvent e) {// вызовать метод, чтобы сохранить файл. SaveFile ();}}); // Добавить событие в текстовую область, то есть нажмите Ctrl+S, чтобы сохранить //, поскольку существует много способов прослушивания событий на клавиатуре, и нам нужен только один из них, мы можем использовать адаптер KeyDapter, // Существует только один метод для реализации jta.addkeister (new KeyAdapter () {// keypress Publicpresessed (keyEavent e) {i. if instrontrontrontrontrontrontrontrontrontrontrontrontrontrontrontrontrontress (i. if is ishontrontrontrontrontrontrontrontrontress (i. if -in -ishontrontrontrontress (i. if -in -ishrontrontres E.GetKeyCode () == KeyEvent.vk_S) {// Вызов метода для сохранения файла. // ЗАКРЫТЬ ОПРЕДЕЛЕНИЕ allowitem.addactionListener (new ActionListener () {@Override public void actionPerformed (actionEvent e) {// Выход системы System.exit (0);}}); } // метод открыть текст public void openfile () {opendia.setVisible (true); // Установите его, чтобы отобразить // Получить путь и имя файла string dirpath = opendia.getDirectory (); String fileName = opendia.getFile (); // Предотвратить клики, чтобы отменить ошибки, если (dirpath == null || имя файла == null) return; jta.settext (""); // Очистить файл текстовой области = новый файл (dirpath, filename); // Создать объект файла // Читать данные в соответствии с строкой и отобразить его в текстовой области Try {BufferedReader br = new BufferedReader (new FileReader (файл)); String line = null; while ((line = br.readline ())! = null) {jta.append (line+"/r/n"); } br.close (); } catch (ioException ex) {бросить новое runtimeexception («читать неудачу»); }} // Метод для сохранения текста. public void saidfile () {// сначала определить, существует ли файл, если (file == null) {savedia.setvisible (true); String dirpath = savedia.getDirectory (); String fileName = savedia.getFile (); // Предотвратить клики, чтобы отменить ошибки, если (dirpath == null || имя файла == null) return; // Потому что файл не существует. Таким образом, вам нужно создать файл файла файла object = new File (dirpath, filename); } // Записать данные в файл try {bufferedwriter bw = new BufferedWriter (new FileWriter (файл)); String info = jta.getText (); // Получить информацию о текстовой области BW.Write (Info); // Операция записи bw.flush (); bw.close (); } catch (ioException e1) {бросить новый runtimeexception (); }} public static void main (string [] args) {// Создать объект new menUtext (); }}}Результаты работы показаны на рисунке:
Функции, реализованные этой программой:
(1) Файл может быть открыт и отредактирован.
(2) Вы можете сохранить отредактированный файл.
(3) Вы можете использовать Ctrl+S для сохранения текста
(4) Вы можете нажать BloseItem, чтобы выйти из программы.
При реализации функции 3 в текстовую область добавляется ключевой список, а для реализации прослушивания используется адаптер KeyDapter. Но теперь, когда вам понадобится комбинация прослушивания, то есть операция сохранения будет инициирована при нажатии CTRL и S.
Что касается комбинированного прослушивания, Java API предоставляет соответствующие методы.
Найдите прямой родительский класс класса KeyEvent, а именно класс InpuTevent. Как показано на рисунке:
Ознакомьтесь с методами в классе Inputentent следующим образом:
В качестве подкласса класса настойчивого вещества объект E класса KeyEvent может быть непосредственно вызван к вышеуказанному методу для вынесения суждений. Метод isControdLown () используется для определения того, нажимает ли клавиша CTRL. Например, if (e.iscontroldown () && e.getkeycode () == keyevent.vk_s) в программе реализует комбинированное суждение.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.