Nachdem ich Java -Events gelernt hatte, schrieb ich selbst einen extrem einfachen Notizblock. Menubar, Menü, Menuitem und andere Steuerelemente werden verwendet, und Ereignisse umfassen ActionListener und Keynistener.
Der Code ist wie folgt:
Paket com.package3; /** Funktion: Einfache Entwicklung von Notepad, Sie können Dateien speichern, Dateien öffnen und Notepad beenden* Autor: ywq*/ import Javax.swing.*; import Java.awt.event.*; import Java.io.*; öffentliche Klasse Menutext {// Komponenten definieren: jframe f; Menubar MB; // Menüleistemenü mu; // Menü jTextArea jta; Menuitem OpenItem, SaveItem, Closeitem; // Submenu fungialog opendia, Savedia; // beliebte Datei speichern und öffnen; // Constructor Public Menutext () {// die Initialisierungsfunktion init () aufrufen; } // Initialisieren Sie die Komponente public void init () {f = new Jframe ("einfacher Notizblock"); mb = neuer Menuubar (); mu = neues Menü ("Datei"); OpenItem = New Menuitem ("offen"); SaveItem = New Menuitem ("Save"); CloseItem = New Menuitem ("Exit"); jta = new JTextArea (); F.Add (JTA); // mu.add (openItem) hinzufügen; mu.add (SaveItem); mu.add (closeItem); mb.add (mu); F.SetMenubar (MB); Opendia = new mausendialog (f, "open", mausendialog.load); Savedia = neuer Femmallog (f, "Save", mausliegerig. Save); // JFRame -Attribut F.SetBounds (200, 300, 500, 400) festlegen; f.setDefaultCloseOperation (jframe.exit_on_close); f.setvisible (true); // Ereignisfunktionsereignis () aufrufen; } // Ereignisfunktion für Ereignisse public void event () {// option option openItem.addactionListener (new ActionListener () {@Override public void actionPerformed (actionevent e) {// rufen Sie OpenFile ();}}); // Option speichern saveItem.addactionListener (new ActionListener () {@Override public void actionPerformed (actionEvent e) {// Ruf die Methode auf, um die Datei zu speichern. SaveFile ();}}); // Fügen Sie ein Ereignis in den Textbereich hinzu, dh drücken Strg+s, um zu speichern //, da es viele Möglichkeiten gibt, auf Ereignisse auf der Tastatur zu hören, und wir müssen nur eine davon benötigen. Wir können den Adapter -Schlüsseladapter verwenden. E.GetElyCode () == KeyEvent.vk_s) {// die Methode zum Speichern der Datei aufrufen. // Schließen Sie die Option CloseItem.addactionListener (new ActionListener () {@Override public void actionPerformed (actionEvent e) {// das System system.exit (0);}}); } // Methode zum Öffnen von text public void openFile () {openendia.setvisible (true); // Setzen Sie es so, dass es angezeigt wird // den Pfad und den Dateinamen String Dirpath = Opendia.getDirectory () abrufen; String Dateiname = Opendia.getFile (); // Klicks verhindern, um Fehler abzubrechen, wenn (DirPath == NULL || Dateiname == NULL) zurücksenden; jta.setText (""); // Die Textbereichsdatei = neue Datei (DirPath, Dateiname) löschen; // Erstellen Sie ein Dateiobjekt // Lesen Sie die Daten entsprechend der Zeile und zeigen Sie es im Textbereich an. String line = null; while ((line = br.readline ())! = null) {jta.append (Zeile+"/r/n"); } br.close (); } catch (ioException ex) {neue runTimeexception ("read fehlgeschlagen"); }} // Methode zum Speichern von Text. public void SaveFile () {// Bestimmen Sie zuerst, ob die Datei vorhanden ist, wenn (Datei == null) {savedia.setvisible (true); String dirpath = savedia.getDirectory (); String Dateiname = savedia.getFile (); // Klicks verhindern, um Fehler abzubrechen, wenn (DirPath == NULL || Dateiname == NULL) zurücksenden; // weil die Datei nicht existiert. Sie müssen also eine Dateiobjektdatei = neue Datei erstellen (DirPath, Dateiname). } // Daten zum Datei -Versuch schreiben {bufferedWriter bw = new bufferedWriter (neuer Filewriter (Datei)); String info = jta.getText (); // Die Informationen des Textbereichs bw.write (info) erhalten; // Operation bw.flush () schreiben; bw.close (); } catch (ioException e1) {werfen neu runTimeException (); }} public static void main (String [] args) {// Erstellen Sie das Objekt New Menutext (); }}}Die Betriebsergebnisse sind in der Abbildung dargestellt:
Die von diesem Programm implementierten Funktionen sind:
(1) Eine Datei kann geöffnet und bearbeitet werden.
(2) Sie können die bearbeitete Datei speichern.
(3) Sie können Strg+s verwenden, um Text zu speichern
(4) Sie können klicken, um das Programm zu beenden.
Bei der Implementierung von Funktion 3 wird ein Keystierer zum Textbereich hinzugefügt, und der Adapter -Schlüsseladapter wird zum Implementieren von Hören verwendet. Wenn Sie jedoch ein Kombinationshören benötigen, wird der Speichervorgang ausgelöst, wenn sowohl Strg als auch S gedrückt werden.
In Bezug auf das kombinierte Zuhören bietet die Java -API entsprechende Methoden.
Finden Sie die direkte übergeordnete Klasse der KeyEvent -Klasse, nämlich die InputEvent -Klasse. Wie in der Abbildung gezeigt:
Schauen Sie sich die Methoden in der InputEvent -Klasse wie folgt an:
Als Unterklasse der InputEvent -Klasse kann das Objekt E der KeyEvent -Klasse direkt zur obigen Methode aufgerufen werden, um Urteile zu fällen. Die isControldown () -Methode wird verwendet, um festzustellen, ob die Strg -Taste gedrückt wird. Zum Beispiel realisiert im Programm if (e.iscontroldown () && e.getKeyCode () == KeyEvent.vk_s).
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.