Interfaz AWT ComponentListener
La clase que procesa el ComponentEvent debe implementar esta interfaz. El objeto de esa clase debe estar registrado con un componente. El objeto se puede registrar usando el método addComponentListener (). Los eventos de componente se generan solo para información.
Declaración de interfaz
A continuación se muestra la declaración de java.awt.event.ComponentListener interfaz:
public interface ComponentListener
extends EventListener
Métodos de interfaz
SN | Método y descripción |
---|---|
1 | void componentHidden(ComponentEvent e) Se invoca cuando el componente se ha hecho invisible. |
2 | void componentMoved(ComponentEvent e) Se invoca cuando cambia la posición del componente. |
3 | void componentResized(ComponentEvent e) Se invoca cuando cambia el tamaño del componente. |
4 | void componentShown(ComponentEvent e) Se invoca cuando el componente se ha hecho visible. |
Métodos heredados
Esta interfaz hereda métodos de las siguientes interfaces:
java.awt.EventListener
Ejemplo de ComponentListener
Cree el siguiente programa java usando cualquier editor de su elección en digamos D:/ > AWT > com > tutorialspoint > gui >
AwtListenerDemo.javapackage com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
public class AwtListenerDemo {
private Frame mainFrame;
private Label headerLabel;
private Label statusLabel;
private Panel controlPanel;
public AwtListenerDemo(){
prepareGUI();
}
public static void main(String[] args){
AwtListenerDemo awtListenerDemo = new AwtListenerDemo();
awtListenerDemo.showComponentListenerDemo();
}
private void prepareGUI(){
mainFrame = new Frame("Java AWT Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new Label();
headerLabel.setAlignment(Label.CENTER);
statusLabel = new Label();
statusLabel.setAlignment(Label.CENTER);
statusLabel.setSize(350,100);
controlPanel = new Panel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showComponentListenerDemo(){
headerLabel.setText("Listener in action: ComponentListener");
ScrollPane panel = new ScrollPane();
panel.setBackground(Color.magenta);
Label msglabel = new Label();
msglabel.setAlignment(Label.CENTER);
msglabel.setText("Welcome to TutorialsPoint AWT Tutorial.");
panel.add(msglabel);
msglabel.addComponentListener(new CustomComponentListener());
controlPanel.add(panel);
mainFrame.setVisible(true);
}
class CustomComponentListener implements ComponentListener {
public void componentResized(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " resized. ");
}
public void componentMoved(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " moved. ");
}
public void componentShown(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " shown. ");
}
public void componentHidden(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " hidden. ");
}
}
}
Compile el programa usando el símbolo del sistema. IrD:/ > AWT y escriba el siguiente comando.
D:\AWT>javac com\tutorialspoint\gui\AwtListenerDemo.java
Si no aparece ningún error, eso significa que la compilación se realizó correctamente. Ejecute el programa usando el siguiente comando.
D:\AWT>java com.tutorialspoint.gui.AwtListenerDemo
Verifique la siguiente salida