import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame3 extends JFrame implements ActionListener //frame3 hereda de JFrame e implementa un ActionListener
{
JLabel answer = new JLabel("Texto"); //creamos una etiqueta que aparecera en el programa
JPanel pane = new JPanel(); //creamos un panel con el nombre pane del tipo JPanel
JButton pressme = new JButton ("Contenido botn"); //creamos un boton con el texto press me
Frame3() //constructor del frame
{
super ("Demo"); //titulo de la ventana creada
setBounds(100, 100, 300, 200); //tamao de la ventana
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //termina el programa al cerrar la ventana
Container con = this.getContentPane(); //obtiene el panel principal sobre el cual aadiremos nuestros componentes
con.add(pane); //aadimos el panel al contenedor declarado arriba
pressme.setMnemonic('P'); //al botn press me le asignamos la hotkey P (Alt + P) lo presiona
pressme.addActionListener(this); //al botn press me le aadimos el listener, ponemos this ocmo parametro porque buscara en esta misma clase la operacion ActionPerformed y luego resolvera que hacer dependiendo de lo que alli diga
pane.add(answer); //metemos el label answer en el panel
pane.add(pressme); //metemos el botn pressme en el panel
pressme.requestFocus(); //el botn pressme obtiene el focus, es decir, aparece preseleccionado para poder ser ejecutado desde teclado
setVisible(true); //hace la ventana visible
}
public void actionPerformed(ActionEvent event) //cuando el boton sea oprimido, se ejecutara lo que sigue
{
Object source = event.getSource(); //a source se le asigna el lugar desde donde se produjo el evento (por ejemplo, cual de los botones fue oprimido y como consecuencia se lleg a estas lneas de cdigo que siguen
if (source == pressme) //si el origen del hecho fue originado por pressme, entonces...
{
answer.setText("Button pressed!");//el label answer dir ahora Button pressed!
JOptionPane.showMessageDialog(null, "Mensaje",
"Titulo",JOptionPane.PLAIN_MESSAGE); //se abrir una ventana con un mensaje, un ttulo y dems
setVisible(true); //el cuadro de dialogo se hace visible
}
}
public static void main (String [] args) //metodo main del programa (desencadenante)
{
new Frame3();
}
}