/////////////////////////////////// hecho por harvey cortes .:: hcortes ::. //////////////////////////////////////// .:: hcortes ::. ////////// ///////// obtenido de hcortes.blogsome.com ////////// ////// nombre de la clase: luna.java ///////////////////////////////////////////////////// import javax.swing.*; import java.awt.*; import java.awt.event.*; public class luna extends JFrame { public JLabel etiqueta1; public int op; public Choice fases; public JPanel panel; public ImageIcon image; ////imagen public JLabel etiqueta2; public ItemListener metodoChoice; public luna(String titulo) { super(titulo); etiqueta1=new JLabel("Elige una fase de la luna :"); fases=new Choice();/////instancia de Choice fases.addItem("Luna llena"); ///agregar item fases.addItem("Cuarto creciente"); fases.addItem("Cuarto menguante"); fases.addItem("gibosa creciente"); fases.addItem("Gibosa menguante"); fases.addItem("Creciente"); fases.addItem("Luna nueva"); fases.addItem("Menguante"); fases.addItem("Hecho por HCortes"); fases.select(8); /////opcion por default de fases panel=new JPanel(); ////instancia de panel panel.setBackground (Color.WHITE); //// fondo de ventana image=new ImageIcon("tux.jpg");///// cargar imagen etiqueta2=new JLabel(image); /////pasar imagen a JLabel panel.setLayout(new GridBagLayout());////formato de panel para acomodar comp panel.add(etiqueta1); ////agregar al panel panel.add(fases); ////agregar al panel panel.add(etiqueta2);//// agregar al panel getContentPane().add(panel); ///agregar panel al contenedor crearListener(); fases.addItemListener(metodoChoice);////agregar Listener a Choice fases setResizable(false); ////no redimensionar ventana setSize(355,180); ////tamaño de ventana } public void crearListener() { metodoChoice=new ItemListener() ////instancia de ItemListener { public void itemStateChanged(ItemEvent evento) { Object obj=evento.getSource(); if(obj==fases){ op=fases.getSelectedIndex(); ////obtener numero de item seleccionado cambiarImagen(op);} /////al seleccionar en el choice, llamará a cambiarImagen } }; }///fin metodo public void cambiarImagen(int op){ switch(op) { case 0: image=new ImageIcon("lunallena.jpg"); etiqueta2.setIcon(image); break; case 1:image=new ImageIcon("cuartocreciente.jpg"); etiqueta2.setIcon(image); break; case 2:image=new ImageIcon("cuartomenguante.jpg"); etiqueta2.setIcon(image); break; case 3:image=new ImageIcon("gibcreciente.jpg"); etiqueta2.setIcon(image); break; case 4:image=new ImageIcon("gibosamenguante.jpg"); etiqueta2.setIcon(image); break; case 5:image=new ImageIcon("creciente.jpg"); etiqueta2.setIcon(image); break; case 6:image=new ImageIcon("lunanueva.jpg"); etiqueta2.setIcon(image); break; case 7:image=new ImageIcon("menguante.jpg"); etiqueta2.setIcon(image); break; case 8: image=new ImageIcon("tux.jpg"); etiqueta2.setIcon(image); break; } } ////fin de cambiar imagen public static void main(String [] ar) { luna Objeto=new luna("Fases lunares .:por Hcortes:."); Objeto.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ///// terminar procesos al cerrar ventana Objeto.show(); /// mostrar ventana } } ////////////////////////////////// fin de la clase luna. ////////////////////// HECHO POR HARVEY CORTES /////////////////////////////////////////////////////////////////////////////////////////