Categorías
Design Patterns Stories

Un ejemplo simple de GUI de swing para el patrón de diseño de observador

Este ejemplo muestra cómo crear un ejemplo de GUI de Swing y explica por qué es un ejemplo de uso de Observer Design Pattern.

Código completo

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
 
public class SimpleSwingExample {
 
	public static void main(String[] args) {
		JFrame frame = new JFrame("Frame Title");
		final JTextArea comp = new JTextArea();
		JButton btn = new JButton("click");
		frame.getContentPane().add(comp, BorderLayout.CENTER);
		frame.getContentPane().add(btn, BorderLayout.SOUTH);
 
		btn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				comp.setText("Button has been clicked");
			}
		});
 
		int width = 300;
		int height = 300;
		frame.setSize(width, height);
 
		frame.setVisible(true);
	}
}

Explicación paso a paso

En primer lugar, necesitamos un contenedor como un marco, una ventana o un applet para mostrar componentes como paneles, botones, áreas de texto, etc.

JFrame frame = new JFrame("Frame Title");

Cree algunos componentes como paneles, botones, áreas de texto, etc.

final JTextArea comp = new JTextArea();
JButton btn = new JButton("click");
  Patrón de diseño de Java: iterador

Agregue componentes al área de visualización y organice su diseño utilizando los LayoutManagers.

frame.getContentPane().add(comp,BorderLayout.CENTER);
frame.getContentPane().add(btn, BorderLayout.SOUTH);

Adjunte un oyente al componente de botón. La interacción con un componente provoca que se produzca un evento. Para asociar una acción de usuario con un componente, adjunte un escucha.

Aquí el método addActionListener es el método de observador de registro del sujeto. Para obtener un ejemplo completo del patrón de diseño de Observer, vaya al ejemplo de Observer.

btn.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent ae){
             comp.setText("Button has been clicked");
       }
});

ActionListener de interfaz pública extiende EventListener

La interfaz de escucha sirve para recibir eventos de acción. La clase (Main, en este caso) que está interesada en procesar un evento de acción implementa esta interfaz, y el objeto creado con esa clase se registra con un componente, utilizando el método addActionListener del componente. Cuando ocurre el evento de acción, se invoca el método actionPerformed de ese objeto.

Muestre el marco.

int width = 300;
int height = 300;
frame.setSize(width, height);
frame.setVisible(true);

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *