10 de lectura tecnología de núcleo java (XI) - procesamiento de eventos

El ejemplo de diseño orientado a eventos C lenguaje de programación original, tendría que escribir el código para comprobar continuamente la cola de eventos, con el fin de consultar el informe de entorno operativo (normalmente, el código se coloca en el cuerpo del bucle contiene una gran cantidad de instrucción switch). Es evidente que un programa escrito de esta manera la legibilidad es pobre, y en algunos casos, la dificultad de codificación es también muy grande. Sus reside la ventaja en caso de respuesta Bushouxianzhi, en lugar de un lenguaje como Visual Basic, una cola de eventos para los programadores ocultos.
evento AWT dentro del rango conocido, puede controlar los eventos de la fuente del evento (origen de evento), por ejemplo, un botón o barra de desplazamiento, el proceso de transferencia a la escucha de eventos (detector de eventos), y se asigna a cualquier objeto de evento oyente. Pero, de hecho, debería ser fácil para seleccionar un objeto puede responder a eventos. Este modelo de eventos delegación (caso modelo de delegación) en comparación con el modelo de escucha predefinida que Visual Basic es más flexible.
lenguaje orientado a objetos como Java, toda la información en el paquete en el caso de un objeto de evento (objeto de evento) en. En Java, todos los objetos de evento se derivan en última instancia de la clase java.util.EventObject.
Aquí Insertar imagen Descripción
ActionListener interfaz que se utiliza es la misma manera: actionPerformed cuadrado
método (el único método en ActionListener) recibió ActionEvent tipo de objeto como un parámetro. El objeto de evento contiene información acerca de cuándo se produjo el evento.

Simple oyente designado
general, cada oyente a realizar una sola acción. El uso de expresiones lambda

exitButton.addActionListener(event-> Systeu.exit(O)) ;

Un cambio de interfaz de usuario clave

UIManager.setLookAndFeel (className) ;  //ClassName为UI对象名称
SwingUtilities.updateComponentTreeUI (this) ;//this指整体窗口/框架

clase adaptador
para cada AWT interfaces oyentes contienen múltiples métodos están equipados con una clase adaptador (adaptador) que implementa todos los métodos de interfaz, pero cada método no hace nada. Por ejemplo, controlar la acción entera ventana de la interfaz WindowListener consta de siete métodos

Acción
paquete Swing proporciona un mecanismo muy útil para la encapsulación de comandos, y conectarlos a una pluralidad de fuentes de eventos, que es
la interfaz de la acción.
Pulsación de tecla es una clase muy útil que encapsula una descripción de la llave, para lograr alcanzar diferentes teclas,

concepto foco del teclado

Cada mapa tiene tres entradas JComponent (imputmap), cada objeto de mapa de teclas están asociadas con la operación.
Aquí Insertar imagen Descripción
InputMap no ser asignada directamente al objeto objeto Acción de pulsaciones de teclas. Pero primero corresponder con cualquier objeto,
entonces la clase se implementa mediante mapeo de objetos a ActionMap segunda operación en el mapa. Esto es muy fácil de realizar una aportación clave a partir de una asignación diferente de una operación de objeto compartido.

 InputMap imap = buttonPanel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
imap.put(KeyStroke.getKeyStroke("ctrl Y"), "panel.yellow");
ActionMap amap = panel.put(KeyStroke.getKeyStroke("ctrl Y","panel.yellow");
amap.put("panel.yellow", yellowAction) ;

Aquí Insertar imagen Descripción
Ratón
MouseListener, MouseMotionListener interconecta
MouseListener responsable de manejar la mousePressed, mouseReleased, método mouseClicked, MouseMotionListener responsable de manejar movimientos, método arrastrado

Publicado 15 artículos originales · ganado elogios 1 · visitas 125

Supongo que te gusta

Origin blog.csdn.net/qq_17236715/article/details/105145105
Recomendado
Clasificación