ComboScale
ComboBox para mostrar la escala actual y los posibles valores de escala que se pueden aplicar a una imágen.
Es una clase que extiende de JPanel. La clase implementa un ComboBox con los posibles valores de escala, además escucha un evento para mostrar en primera instancia el valor actual de las escala, es decir, el primer valor que muestra en el campo del ComboBox es el valor de la escala actual de la imágen. Este valor es capturado mediante un listener. Ejemplo de ComboScale lo encontramos en la ventana principal de gvSIG cuando tenemos cargada una capa y se utiliza para mostrar la escala a la que se muestra la imagen. Cuando seleccionamos un valor de escala en el ComboBox se redibuja la imágen con el nuevo valor. Se adjuntan imágenes tanto de la utilización del ComboScale en una aplicación independiente de test y su uso dentro de gvSIG. .. figure:: imagenes/ComboScale2.JPG :align: center Aparece, en el programa de test, el valor actual de la escala. .. figure:: imagenes/ComboScale1.JPG :align: center Aparece, en el programa de test, el ComboBox desplegado con los posibles valores para la escala. .. figure:: imagenes/ComboScaleGVSIG1.JPG :align: center Ejemplo de uso en gvSIG con el valor actual de escala. .. figure:: imagenes/ComboScaleGVSIG2.JPG :align: center Ejemplo de uso en gvSIG con el ComboBox desplegado con los valores de escala. A continuación se muestran fragmentos de código de cómo utilizar esta aplicación Constructor de la clase .. code-block:: java ComboScale cs = new ComboScale(); Creamos un vector con los elementos que deseamos tenga la escala y lo incluimos en el ComboScale .. code-block:: java long[] scale=new long[5]; scale[0]=100; scale[1]=500; scale[2]=1000; scale[3]=5000; scale[4]=10000; cs.setItems(scale); Establecemos el valor que queremos que muestre el ComboScale en su campo de texto .. code-block:: java cs.setScale(400); Añadimos el ComboScale al panel .. code-block:: java frame.getContentPane().add(cs); Se ha añadido un botón adicional que establecerá el valor que mostrará el ComboScale en "500" cuando sea pulsado. El código necesario para realizar esa acción es el siguiente. Primero el contructor del botón ,luego las acciones que realizará y por último el código para incluirlo en el panel .. code-block:: java JButton btn = new JButton(); //Creamos el botón btn.addActionListener(new ActionListener(){ //Listener que espera la acción de pulsar el botón public void actionPerformed(java.awt.event.ActionEvent e) { cs.setScale(500); //Establece 500 como valor a mostrar en el campo de escala } } ); frame.getContentPane().add(btn); //añadimos el botón al panel