miércoles, 2 de julio de 2014

JList, JScrollPane y clase interna anónima de eventos

Que tal compañeros, hoy vamos a continuar con otro componente que es JList y JScollPan además del uso de una clase interna anónima para el manejo de eventos. La clase interna anónima no es más una instancia de una clase interna anónima, y se declara sin tener un nombre y por lo general aparece dentro de la declaración de un método.

Ahora para entender y sobre todo aprender de los componentes JList y JScrollPane, para ello realizamos un ejercicio donde se muestra una lista de colores y al seleccionar un color el background de nuestra ventana cambiara con respecto al color seleccionado.

Codigo vtnColores:


import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class vtnColores extends JFrame{
 private JList listaColores;
 //Declaramos un arreglo con los nombres de los colores esto para mostrarlo en el JList
 private final String ArrayColores[]={"Negro", "Azul", "Cyan", "Gris obscuro", "Gris", "Verde", 
         "Gris claro", "Magenta", "Naranja", "Rosa", "Rojo", "Blanco",
         "Amarillo"};
 //Declaramos un arreglo de colores del objeto Color y dentro colocamos los colores del array anterior
 private final Color colores[]={Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY, Color.GRAY,
         Color.GREEN, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE, 
         Color.PINK, Color.RED, Color.WHITE, Color.YELLOW};
 
 //Constructor
 public vtnColores(){
  super("DEMO VENTANA COLORES");
  setLayout(new FlowLayout());
  
  listaColores = new JList(ArrayColores);
  listaColores.setVisibleRowCount(5);//Muestra solo cinco filas del JList
  //No permitimos la seleccion multiple
  listaColores.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  add(new JScrollPane(listaColores));
  listaColores.addListSelectionListener(
    new ListSelectionListener(){//Creamos una clase anonima
     //Aqui desarrollamos los eventos que se realizaran de la lista
     @Override
     public void valueChanged(ListSelectionEvent evento) {
      getContentPane().setBackground(colores[listaColores.getSelectedIndex()]);
      
     }//FIN del metodo valueChanged
    }//FIN de la clase interna anonima
    );//FIN de la llamada addListSelectionListener
 }//FIN de Constructor
 
 
}

Codigo ColoresMain:

import javax.swing.JFrame;

public class ColoresMain {
 public static void main(String[] args) {
  vtnColores demo = new vtnColores();
  demo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  demo.setSize(350, 350);
  demo.setVisible(true);
 }
}

Resultado:




Muy bien compañeros hemos llegado al fin de este post donde aprendimos a realizar listas con un Scroll ademas de editar el fondo de nuestra ventana, si te gusto el post compartelo con tus amigos y sobretodo seguirnos en nuestras redes sociales.

No hay comentarios.:

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *