consulta programacion JAVA

Iniciado por fran_valles, 4 Octubre 2017, 16:13 PM

0 Miembros y 1 Visitante están viendo este tema.

fran_valles

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:

Código (java) [Seleccionar]
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);
add(new JButton(accionAzul));
add(new JButton(accionRojo));


}

private class AccionColor extends AbstractAction{

public AccionColor(String nombre, Icon icono, Color color_boton) {
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);
}

public void actionPerformed(ActionEvent e) {
Color c=(Color)getValue("Color_de_fondo");
setBackground(c);
System.out.println("Nombre: " + getValue(Action.NAME) + " Descripción: " + getValue(Action.SHORT_DESCRIPTION));

}
}
}

fran_valles

Ya lo vi!! despues de dos días....

una variable empieza con "color_de_fondo" y la otra con mayuscula

ay que cabeza!!