Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package Pruebajcombobox;
  2.  
  3. import java.awt.FlowLayout;
  4. import java.awt.event.ItemListener;
  5. import java.awt.event.ItemEvent;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JComboBox;
  9. import javax.swing.Icon;
  10. import javax.swing.ImageIcon;
  11.  
  12.  
  13. /**
  14.  *
  15.  * @author Rafa
  16.  */
  17. public class PruebaJComboBox extends JFrame{
  18.     private JComboBox image;
  19.     private JLabel label;
  20.     private String nombres[] = {"azul.jpg", "negro.jpg", "rojo.jpg", "verde.jpg"};
  21.     private Icon icons[] = {
  22.         new ImageIcon(getClass().getResource(nombres[0])),
  23.         new ImageIcon(getClass().getResource(nombres[1])),
  24.         new ImageIcon(getClass().getResource(nombres[2])),
  25.         new ImageIcon(getClass().getResource(nombres[3]))};
  26.    
  27.     //Agregamos un objeto PruebaJComboBox a un JFrame
  28.     public PruebaJComboBox(){
  29.         super("Prueba JComboBox");
  30.         setLayout(new FlowLayout()); //Estabelece el esquema de marco
  31.        
  32.         image = new JComboBox(nombres);
  33.         image.setMaximumRowCount(3);
  34.        
  35.         image.addItemListener(
  36.             new ItemListener() {
  37.                 public void itemStateChanged(ItemEvent evento){
  38.                     if(evento.getStateChange() == ItemEvent.SELECTED)
  39.                         label.setIcon(icons[image.getSelectedIndex()]);
  40.                 }
  41.             });
  42.        
  43.         add(image);
  44.         label = new JLabel(icons[0]);
  45.         add(label);
  46.        
  47.     }
  48.     public static void main(String[] args) {
  49.         PruebaJComboBox prueba = new PruebaJComboBox();
  50.         prueba.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  51.         prueba.setSize(450, 348);
  52.         prueba.setLocationRelativeTo(null); //centra el frame
  53.         prueba.setVisible(true); //pone visible en frame
  54.        
  55.     }
  56. }