Foro de elhacker.net

Programación => Java => Mensaje iniciado por: fran_valles en 4 Octubre 2017, 16:13 pm



Título: consulta programacion JAVA
Publicado por: fran_valles en 4 Octubre 2017, 16:13 pm
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
  1. package graficos;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5.  
  6.  
  7. public class PruebaAcciones {
  8.  
  9. public static void main(String[] args) {
  10. // TODO Auto-generated method stub
  11. MarcoAction marco= new MarcoAction();
  12. marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  13. marco.setVisible(true);
  14.  
  15. }
  16.  
  17. }
  18.  
  19. class MarcoAction extends JFrame{
  20. public MarcoAction() {
  21. setTitle("Prueba Acciones");
  22. setBounds(600,350,600,300);
  23. PanelAccion lamina=new PanelAccion();
  24. add(lamina);
  25.  
  26. }
  27. }
  28.  
  29. class PanelAccion extends JPanel{
  30.  
  31. public PanelAccion() {
  32.  
  33. AccionColor accionAmarillo=new AccionColor("Amarillo", new ImageIcon("src/graficos/bola_amarilla.gif"), Color.yellow);
  34. AccionColor accionAzul=new AccionColor("Azul", new ImageIcon("src/graficos/bola_azul.gif"), Color.blue);
  35. AccionColor accionRojo=new AccionColor("Rojo", new ImageIcon("src/graficos/bola_roja.gif"), Color.red);
  36.  
  37. add(new JButton(accionAmarillo)); //JButton botonAmarillo=new JButton("Amarillo"); add(botonAmarillo);
  38. add(new JButton(accionAzul));
  39. add(new JButton(accionRojo));
  40.  
  41.  
  42. }
  43.  
  44. private class AccionColor extends AbstractAction{
  45.  
  46. public AccionColor(String nombre, Icon icono, Color color_boton) {
  47. putValue(Action.NAME, nombre);
  48. putValue(Action.SMALL_ICON, icono);
  49. putValue(Action.SHORT_DESCRIPTION, "Poner la lámina de color " + nombre);
  50. putValue("color_de_fondo", color_boton);
  51. }
  52.  
  53. public void actionPerformed(ActionEvent e) {
  54. Color c=(Color)getValue("Color_de_fondo");
  55. setBackground(c);
  56. System.out.println("Nombre: " + getValue(Action.NAME) + " Descripción: " + getValue(Action.SHORT_DESCRIPTION));
  57.  
  58. }
  59. }
  60. }


Título: Re: consulta programacion JAVA
Publicado por: fran_valles en 4 Octubre 2017, 16:18 pm
Ya lo vi!! despues de dos días....

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

ay que cabeza!!