JAVA EVENTS
Links
//EVENTOS
/*
* EVENTOS
*/
package E_SWING;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Eventos {
// public static void main(String[] args) {
// Events();
// }
//
public static void Events(){
MarcoBotones marcoBut = new MarcoBotones();
marcoBut.setVisible(true);
marcoBut.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
//Jframe
class MarcoBotones extends JFrame{
public MarcoBotones(){
setTitle("Botones y eventos");
setBounds(700,300, 500, 300);
LaminaBotones miLamina = new LaminaBotones();
add(miLamina);
}
}
//JPanel
//IMPLEMENTAMOS LA INTERFAZ ACTION LISTENER, TENEMOS QUE DESARROLLAR LOS METODOS @Override
class LaminaBotones extends JPanel implements ActionListener{
JButton botonAzul = new JButton("Azul");
JButton botonAmarillo = new JButton("AMarillo");
JButton botonRojo= new JButton("Rojo");
public LaminaBotones(){
add(botonAzul);
add(botonAmarillo);
add(botonRojo);
ColorFondo Azul = new ColorFondo(Color.blue);
ColorFondo Amarillo = new ColorFondo(Color.yellow);
ColorFondo Rojo = new ColorFondo(Color.red);
botonAzul.addActionListener(this); //El This se refiere a la clase, en este caso la lámina, es el que escucha
botonAmarillo.addActionListener(this);
botonRojo.addActionListener(this);
botonAzul.addActionListener(Azul);
botonAmarillo.addActionListener(Rojo);
botonRojo.addActionListener(Amarillo);
}
@Override
public void actionPerformed(ActionEvent e) {
Object botonPulsado = e.getSource();
if(botonPulsado == botonAzul){
setBackground(Color.blue);
}
else if(botonPulsado == botonAmarillo){
setBackground(Color.yellow);
}
else {
setBackground(Color.red);
}
}
private class ColorFondo implements ActionListener{
private Color colorDeFondo;
public ColorFondo(Color c){
colorDeFondo = c;
}
@Override
public void actionPerformed(ActionEvent e) {
setBackground(colorDeFondo);
}
}
}