Après avoir appris les événements Java, j'ai moi-même écrit un bloc-notes extrêmement simple. MenUbar, Menu, MenuItem et d'autres contrôles sont utilisés, et les événements incluent ActionListener et KeyListener.
Le code est le suivant:
package com.package3; / * * Fonction: Développement simple du bloc-notes, vous pouvez enregistrer des fichiers, ouvrir des fichiers et quitter le bloc-notes * auteur: ywq * / import javax.swing. *; import java.awt.event. *; importer java.io. *; classe publique MenuteXt {// Définir les composants: jframe f; Menubar MB; // Menu de barre de menu MU; // menu jTextArea JTA; MenuItem OpenItem, SaveItem, CloseItem; // sous-menu Filedialog Opendia, Savedia; // Fichier de fichier de case Save and Open Box; // Constructeur public menityxt () {// appelant la fonction d'initialisation init (); } // Initialisez le composant public void init () {f = new JFrame ("simple notepad"); MB = new MenUbar (); mu = nouveau menu ("fichier"); openItem = new Menuem ("Open"); SaveItem = new Menuem ("Save"); CloseItem = new Menuem ("sortie"); jta = new jTextArea (); F.Add (JTA); // ajouter mu.add (openItem); mu.add (SaveItem); mu.add (closeItem); MB.Add (MU); f.setMenubar (MB); Opendia = new FileDialog (f, "Open", FileDialog.load); SAVEDIA = NOUVEAU FileDialog (F, "Save", FileDialog.save); // Définit l'attribut JFrame F.SetBounds (200, 300, 500, 400); f.setDefaultCloseOperation (jframe.exit_on_close); f.setVisible (true); // Appel Event Fonction Event (); } // Fonction de l'événement pour gérer les événements publics public event () {// Open option openItem.addactionListener (new ActionListener () {@Override public void ActionperFormed (ActionEvent e) {// appel openFile ();}}); // Enregistrer l'option SaveItem.AddactionListener (new ActionListener () {@Override public void ActionPerformed (ActionEvent e) {// Appelez la méthode pour enregistrer le fichier. SaveFile ();}}); // Ajouter un événement dans la zone de texte, c'est-à-dire appuyez sur Ctrl + S pour enregistrer // Parce qu'il existe de nombreuses façons d'écouter des événements sur le clavier, et nous n'avons besoin que d'une d'entre elles, nous pouvons utiliser l'adaptateur KeyAdapter, // Il n'y a qu'une seule méthode pour implémenter JTA.AddKeyListener (KeyEnt e.getKeyCode () == keyEvent.vk_s) {// appelant la méthode pour enregistrer le fichier. // Fermez l'option closeItem.addactionListener (new ActionListener () {@Override public void ActionPerformed (ActionEvent e) {// quitte le système System.exit (0);}}); } // Méthode pour ouvrir le texte public void openFile () {opendia.setVisible (true); // Définissez-le pour l'afficher // Obtenez la chaîne de nom et de nom de fichier dirpath = opendia.getDirectory (); String filename = opendia.getFile (); // Empêcher les clics pour annuler les erreurs si (dirpath == null || filename == null) return; JTA.SETTEXT (""); // effacer le fichier de zone de texte = nouveau fichier (dirpath, nom de fichier); // Créer un objet de fichier // Lisez les données en fonction de la ligne et affichez-les dans la zone de texte try {BufferedReader br = new BufferedReader (new FileReader (fichier)); Chaîne line = null; while ((line = br.readline ())! = null) {jta.append (line + "/ r / n"); } br.close (); } catch (ioException ex) {throw new RuntimeException ("Read a échoué"); }} // Méthode pour enregistrer du texte. public void SaveFile () {// Déterminez d'abord si le fichier existe if (file == null) {Savedia.setVisible (true); String dirpath = savedia.getDirectory (); String filename = savedia.getFile (); // Empêcher les clics pour annuler les erreurs si (dirpath == null || filename == null) return; // parce que le fichier n'existe pas. Vous devez donc créer un fichier d'objet de fichier = nouveau fichier (dirpath, nom de fichier); } // Écrivez des données pour fichier try {bufferedwriter bw = new BufferedWriter (new FileWriter (fichier)); Chaîne info = jta.getText (); // Obtenez les informations de la zone de texte bw.write (info); // Écriture de l'opération bw.flush (); bw.close (); } catch (ioException e1) {throw new RuntimeException (); }} public static void main (String [] args) {// Créer l'objet nouveau menityxt (); }}}Les résultats de l'opération sont présentés sur la figure:
Les fonctions implémentées par ce programme sont:
(1) Un fichier peut être ouvert et modifié.
(2) Vous pouvez enregistrer le fichier modifié.
(3) Vous pouvez utiliser Ctrl + S pour enregistrer le texte
(4) Vous pouvez cliquer sur CloseItem pour quitter le programme.
Lors de l'implémentation de la fonction 3 , un KeyListener est ajouté à la zone de texte et l'adaptateur KeyAdapter est utilisé pour implémenter l'écoute. Mais maintenant, lorsque vous avez besoin d'une écoute combinée, c'est-à-dire que l'opération de sauvegarde sera déclenchée lorsque Ctrl et S seront enfoncés.
En ce qui concerne l'écoute combinée, l'API Java fournit des méthodes correspondantes.
Trouvez la classe Parent directe de la classe KeyEvent, à savoir la classe Inputevent. Comme indiqué sur la figure:
Consultez les méthodes dans la classe Inputevent comme suit:
En tant que sous-classe de la classe Inputevent, l'objet e de la classe KeyEvent peut être directement appelé à la méthode ci-dessus pour porter des jugements. La méthode isControldown () est utilisée pour déterminer si la touche Ctrl est enfoncée. Par exemple, if (e.isConTroldown () && e.getkeycode () == keyEvent.vk_s) dans le programme réalise le jugement combiné.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.