Seguidores

MIS WEBS



sábado, 3 de marzo de 2018

Dar tamaño a un texto con JSlaider java

JSlaider


Es un control deslizante que podemos colocar en nuestro marco para dale funcionalidad posteriormente. Normalmente lo podemos ver en el control del volumen, pero le podemos dar otras funciones.

Los métodos que yo he necesitado han sido los siguiente:

  • setPaintTicks(boolean)  Establece  líneas de división
  • setMajorTicksSpacing(int) : Contabiliza cada cuanto van las líneas de separación de las marcas más grandes
  • setMinorTicksSpacing(int): Contabiliza cada cuanto van las líneas de separación pequeñas.
  • setPaintLabels(boolean)  Establece las etiquetas numéricas.
  • addChangeListener(ChangeListener): Pone a la escucha el JSlider
  • setPreferredSize(new Dimension(ancho, alto) : Establece el tamaño de nuestro JSlider.
  • getValue () Obtener el valor actual que marca JSlider.


Ahora vamos a dar funcionalidad a un JSlaider, para ello crearemos un marco con dos laminas en la parte central pondremos una etiqueta con un texto y en la superior nuestra barra.  La barra tendrá marcas de separación pequeñas y grandes, números comprendidos entre 5 y 100. Y cuando la deslicemos aumentara o disminuirá el texto.



ESTE ES EL CÓDIGO QUE HE UTILIZADO:

public class practica3 {
       public static void main(String[] arg) {
             MarcO marcO22= new MarcO();
             marcO22.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             marcO22.setVisible(true);
       }
}
class MarcO extends JFrame{      
       public MarcO() {
             setBounds(300,100,650,450);
             Lamina lamina000 = new Lamina();
             add(lamina000);
       }
}
class Lamina extends JPanel{
       public Lamina() {
             setLayout(new BorderLayout());
            
             JP_texto = new JPanel();
             Texto = new JLabel("TEXTO");
             Texto.setFont(new Font("Arial Black",Font.PLAIN,20));
             JP_texto.add(Texto);
             add(JP_texto, BorderLayout.CENTER);
            
            
             JP_barra = new JPanel();
             Barra_Control = new JSlider(0,5,100,20);
             Barra_Control.setPaintTicks(true);
             Barra_Control.setPaintLabels(true);
             Barra_Control.setMinorTickSpacing(5);
             Barra_Control.setMajorTickSpacing(10);
             Barra_Control.setFont(new Font ("Arial",Font.BOLD,10));
             //Le damos el tamaño que nos gusta
             Barra_Control.setPreferredSize(new Dimension(350, 80));
             Barra_Control.addChangeListener(new Evnto_Barra_control());
             JP_barra.add(Barra_Control);
            
             add(JP_barra,BorderLayout.NORTH);
       }
       private class Evnto_Barra_control implements ChangeListener{
             public void stateChanged(ChangeEvent e) {     
                    Texto.setFont(new Font("Arial Black",Font.PLAIN,Barra_Control.getValue()));
             }     
       }
       private JLabel Texto;
       private JSlider Barra_Control;
       private JPanel JP_barra,JP_texto;
}




Si lo que deseamos es que al desplazarnos por la barra un texto nos indique donde estamos con el texto de la etiqueta:

private class Evnto_Barra_control implements ChangeListener{
             public void stateChanged(ChangeEvent e) {     
       Texto.setText("ESTO MARCA TU BARRA " + Barra_Control.getValue());
             }
       }



No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital