Después de aprender eventos de Java, escribí un bloc de notas extremadamente simple. Se utilizan Menubar, menú, Menuitem y otros controles, y los eventos incluyen ActionListener y Keylistener.
El código es el siguiente:
paquete com.package3; /** Función: Desarrollo simple de bloc de notas, puede guardar archivos, abrir archivos y salir del bloc de notas* Autor: ywq*/ import javax.swing.*; import java.awt.event.*; import java.io.*; clase pública Menutext {// Definir componentes: jframe f; Menubar MB; // Menú de la barra MU; // menú jtexTarea JTA; Menuitem OpenItem, SaveItem, Closeitem; // submenu Artedialog Opendia, Savedia; // archivo de archivo de caja guardar y abrir popular; // constructor public Menutext () {// llamando a la función de inicialización init (); } // Inicializar el componente public void init () {f = new Jframe ("Notepad simple"); MB = nuevo menubar (); mu = nuevo menú ("archivo"); OpenItem = new Menuitem ("Open"); saveItem = new Menuitem ("Save"); CloseItem = New Menuitem ("Salir"); JTA = new JTextArea (); F.Add (JTA); // agregar mu.add (OpenItem); mu.add (saveItem); Mu.add (Closeitem); MB.Add (MU); F.SetMenubar (MB); opendia = new Filedialog (f, "abierto", FileDialog.Load); savedia = new Filedialog (f, "Save", FileDialog.save); // establecer el atributo Jframe F.SetBounds (200, 300, 500, 400); f.setDefaultCloseOperation (jframe.exit_on_close); F.SetVisible (verdadero); // Llame al evento Event (); } // Función de evento para manejar eventos públicos Void Event () {// Opción Opción OpenItem.AddActionListener (new ActionListener () {@Override public void ActionPerformed (ActionEvent E) {// llamar a File ();}}); // La opción Guardar saveItem.addactionListener (new ActionListener () {@Override public void ActionPerformed (ActionEvent E) {// Llame al método para guardar el archivo. SaveFile ();}}); // Agregue un evento en el área de texto, es decir, presione Ctrl+S para guardar // porque hay muchas formas de escuchar eventos en el teclado, y solo necesitamos uno de ellos, podemos usar el adaptador KeyAdapter, // Solo hay un método para implementar jTA.AddkeyListener (nuevo teclado () {// keyPress Method público Void KeyPissessessessess (Keyvent E) (if (if if if (if if if if (if if (if if if (ISISCOWNOWNEWNEWNEN E.GetKeyCode () == KeyEvent.vk_s) {// llamando al método para guardar el archivo. // Cierre la opción CloseItem.AdDactionListener (new ActionListener () {@Override public void ActionPerformed (ActionEvent E) {// Salga del sistema System.exit (0);}}); } // método para abrir el texto public void OpenFile () {Opendia.SetVisible (true); // Establecerlo para mostrarlo // Obtener la cadena de ruta y nombre de archivo dirpath = opendia.getDirectory (); Cadena filename = opendia.getFile (); // Evitar clics para cancelar errores if (dirpath == null || filename == null) return; jta.settext (""); // borrar el archivo del área de texto = nuevo archivo (dirpath, nombre de archivo); // Cree un objeto de archivo // Lea los datos de acuerdo con la línea y muestrelo en el área de texto, intente {BufferedReader BR = New BufferedReader (New FileReader (archivo)); Línea de cadena = nulo; while ((línea = br.readline ())! = null) {jta.append (línea+"/r/n"); } br.close (); } Catch (ioException ex) {Throw New RuntimeException ("Leer fallido"); }} // método para guardar texto. public void saveFile () {// Primero determine si el archivo existe si (file == null) {savedia.setVisible (true); Cadena dirpath = savedia.getDirectory (); Cadena filename = savedia.getFile (); // Evitar clics para cancelar errores if (dirpath == null || filename == null) return; // porque el archivo no existe. Por lo tanto, debe crear un archivo de objeto Archivo = nuevo archivo (DirPath, FileName); } // Escribir datos para archivar {BufferedWriter bw = new BufferedWriter (nuevo FileWriter (archivo)); String info = jta.gettext (); // Obtener la información del área de texto bw.write (información); // Escribir operación bw.flush (); bw.close (); } catch (ioException e1) {Throw New RuntimeException (); }} public static void main (string [] args) {// crea el objeto nuevo Menutext (); }}}Los resultados de la operación se muestran en la figura:
Las funciones implementadas por este programa son:
(1) Se puede abrir y editar un archivo.
(2) Puede guardar el archivo editado.
(3) Puede usar Ctrl+S para guardar texto
(4) Puede hacer clic en CloseItem para salir del programa.
Al implementar la función 3 , se agrega un Keylistener al área de texto, y el adaptador KeyAdapter se utiliza para implementar la escucha. Pero ahora, cuando necesite una combinación de escucha, es decir, la operación de guardado se activará cuando se presionen CTRL y S.
Con respecto a la escucha combinada, la API Java proporciona métodos correspondientes.
Encuentre la clase principal directa de la clase KeyEvent, a saber, la clase inPutEvent. Como se muestra en la figura:
Echa un vistazo a los métodos en la clase InPtevent de la siguiente manera:
Como una subclase de la clase inPutEvent, el objeto E de la clase Keyvent puede llamarse directamente al método anterior para emitir juicios. El método iSControldown () se usa para determinar si se presiona la tecla CTRL. Por ejemplo, if (e.isControldown () && e.getKeyCode () == keyEvent.vk_s) en el programa realiza el juicio de combinación.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.