Hola, he realizado este programa con un curso que estoy haciendo.
He revisado varias veces que esté exactamente al del video para ver si es por un error tipográfico y no he visto nada.
El ejercicio crea un marco con tres botones (con un icono y texto) al pinchar en cada botón debe ponerse el marco(lamina) del color que indica el boton (contiene foco y leyenda).
En consola además informa del evento que se ha realizado.
Por favor, si alquien puede ver donde está el error se lo agradezco!!
El código es:
package graficos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PruebaAcciones {
public static void main
(String[] args
) { // TODO Auto-generated method stub
MarcoAction marco= new MarcoAction();
marco.
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE); marco.setVisible(true);
}
}
class MarcoAction
extends JFrame{ public MarcoAction() {
setTitle("Prueba Acciones");
setBounds(600,350,600,300);
PanelAccion lamina=new PanelAccion();
add(lamina);
}
}
class PanelAccion
extends JPanel{
public PanelAccion() {
AccionColor accionAmarillo
=new AccionColor
("Amarillo",
new ImageIcon("src/graficos/bola_amarilla.gif"),
Color.
yellow); AccionColor accionAzul
=new AccionColor
("Azul",
new ImageIcon("src/graficos/bola_azul.gif"),
Color.
blue); AccionColor accionRojo
=new AccionColor
("Rojo",
new ImageIcon("src/graficos/bola_roja.gif"),
Color.
red);
add
(new JButton(accionAmarillo
)); //JButton botonAmarillo=new JButton("Amarillo"); add(botonAmarillo);
}
putValue
(Action.
NAME, nombre
); putValue
(Action.
SMALL_ICON, icono
); putValue
(Action.
SHORT_DESCRIPTION,
"Poner la lámina de color " + nombre
); putValue("color_de_fondo", color_boton);
}
setBackground(c);
System.
out.
println("Nombre: " + getValue
(Action.
NAME) + " Descripción: " + getValue
(Action.
SHORT_DESCRIPTION));
}
}
}