Seguidores

MIS WEBS



Mostrando entradas con la etiqueta JComboBox. Mostrar todas las entradas
Mostrando entradas con la etiqueta JComboBox. Mostrar todas las entradas

jueves, 2 de mayo de 2019

¿Como obtener el valor de un JCoboBox?



JComboBox obtener el ItemEvent.SELECTED


Hoy estaba realizando un ejercicio con java en el que tengo que realizar una aplicación con Layouts libres para generar mensajes de forma automática, en dicha aplicación tiene generado Eventos de ratón MouseListener para JButton JRadioButton  y JCheckBox para lo que utilice la interface MouseListener.




Todo iba bastante bien hasta que tuve que poner a la escucha mi JComboBox con la interface ItemListener.


¿ Que nos regresa ItemListener?


Cuando utilizamos el método getItem() este nos regresará el item que abandonamos (ItemEvent.LAST) y el que adquirimos en ese momento (ItemEvent.FRIST). Pero a nosotros seguramente nos haga falta el item seleccionado (ItemEvent.SELECTED).



¿Como conseguir que JComboBox nos regrese el registro seleccionado?


Bueno pues tras pelearme con todos los métodos de ItemEvent y dar mil vueltas por la web al final encontré como hacerlo.


Por supuesto lo primero poner a la escucha nuestro objeto.

TipoBotones . comboTipoMensaje .addItemListener ( new elquetodoloescucha ());


Y luego implementaríamos la interface ItemListener y utilizando un if nos quedaremos tan solo con que necesitamos ItemEvent.SELECTED





class elquetodoloescucha implementa ItemListener {

             public void itemStateChanged (ItemEvent e ) {
                   
Artículo de                     cadena ;
                   
                     if ( e .getStateChange () == ItemEvent. SELECTED ) {
item = (String) e .getItem (); Sistema. fuera .println ( artículo );
}     
      
            
            
             }
            
       }




Espero que os pueda ser útil como lo ha sido para mi, si alguien sabe algún método mejor que me lo diga. Muchas gracias.

miércoles, 28 de febrero de 2018

Pasar por parámetros un array a JComboBox en java

JComboBox 


¿COMO SE CREA UN JComboBox  CON UN ARRAY?

Supongo que en mas de una ocasión os habéis encontrado en la siguiente situación para cargar los datos a un JComboBox 


             JP_Botones          = new JPanel();
             Jcb_TamañoLetra     = new JComboBox();
             JP_Botones.add(new JLabel("Tamaño Letra"));
             Jcb_TamañoLetra.addItem("0");
             Jcb_TamañoLetra.addItem("5");
             Jcb_TamañoLetra.addItem("10");
             Jcb_TamañoLetra.addItem("15");
             Jcb_TamañoLetra.addItem("20");
             Jcb_TamañoLetra.addItem("25");
             Jcb_TamañoLetra.addItem("30");
             Jcb_TamañoLetra.addItem("35");
             Jcb_TamañoLetra.addItem("40");
             Jcb_TamañoLetra.addItem("45");
             Jcb_TamañoLetra.addItem("50");
             Jcb_TamañoLetra.addActionListener(new Eventos_Textos());
             JP_Botones.add(Jcb_TamañoLetra);


por esa razón en el constructor de JComboBox, existe la posibilidad de pasarle por parámetros un array con los elementos que introducimos en primera instancia.

JComboBox(new String[] {"Elemento1", "Elemento2", "Elemento3", "Elemento4", "Elemento5","Elemento6"});

Esto hace que nuestro código reduzca también espacio de una forma considerable:
             


             JP_Botones          = new JPanel();
             Jcb_TamañoLetra = new JComboBox(new String [] {
                 "0","10","15","20","25","30","35","40","45","50"
                           });


Conseguimos reducir una gran cantidad de código.



Muchas gracias a todos/as, espero que os resulte útil.

JComboBox java

 JComboBox


En la clase JComboBox podemos realizar objetos de cuadro desplegables he introducirlos en una lámina de un marco. Un JComboBox es la típica lista desplegable que nos aparece en los formularios y en la que podemos seleccionar una de las opciones. Existen dos de los métodos que tenemos que dominar:

addItem() : Ingresa datos a la lista desplegable.

getSelectedItem(): Obtener elemento seleccionado en este instante.


En el siguiente ejemplo vamos a realizar un marco al que le incluiremos un texto en la parte inferior, en la superior situaremos dos JComboBox uno con el tamaño letra y el otro con el tipo de letra. Cuando selecciones cada uno de ellos se modificara el texto en tamaño o letra o ambos.









import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class practica3 {

       public static void main(String[] args) {
             Marco_actual marco = new Marco_actual();
             marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             marco.setVisible(true);
            
       }

}

class Marco_actual extends JFrame{
      
       public Marco_actual() {
             Lamina_actual lamina_actual = new Lamina_actual();   
             setBounds(800,50,500,300);
             add(lamina_actual);
       }
}
class Lamina_actual extends JPanel{
      
       Lamina_actual(){
             setLayout(new BorderLayout());
            
             JP_Texto=new JPanel();
             JL_Texto= new JLabel("Texto");
             JL_Texto.setFont(new Font ("Arial Black",Font.CENTER_BASELINE,20));
            
             add(JL_Texto,BorderLayout.CENTER);
            
             JP_Botones          = new JPanel();
             Jcb_TamañoLetra     = new JComboBox();
             JP_Botones.add(new JLabel("Tamaño Letra"));
             Jcb_TamañoLetra.addItem("0");
             Jcb_TamañoLetra.addItem("5");
             Jcb_TamañoLetra.addItem("10");
             Jcb_TamañoLetra.addItem("15");
             Jcb_TamañoLetra.addItem("20");
             Jcb_TamañoLetra.addItem("25");
             Jcb_TamañoLetra.addItem("30");
             Jcb_TamañoLetra.addItem("35");
             Jcb_TamañoLetra.addItem("40");
             Jcb_TamañoLetra.addItem("45");
             Jcb_TamañoLetra.addItem("50");
             Jcb_TamañoLetra.addActionListener(new Eventos_Textos());
             JP_Botones.add(Jcb_TamañoLetra);
            
             JP_Botones.add(new JLabel("Tipo Letra"));
            
             Jcb_TipoLetra = new JComboBox();
            
             Jcb_TipoLetra.addItem("Arial");
             Jcb_TipoLetra.addItem("Arial Black");
             Jcb_TipoLetra.addItem("Cabril");
             Jcb_TipoLetra.addItem("Consolas");
             Jcb_TipoLetra.addItem("AR DESTINE");
             Jcb_TipoLetra.addItem("Algerian");
            
             Jcb_TipoLetra.addActionListener(new Eventos_Textos());
             JP_Botones.add(Jcb_TipoLetra);

             add(JP_Botones, BorderLayout.NORTH);
            
            
       }
      
       private class Eventos_Textos implements ActionListener{

             public void actionPerformed(ActionEvent e) {
                   
                    int TTLetra= (int) (Jcb_TamañoLetra.getSelectedIndex());
                    JL_Texto.setFont(new Font ((String)Jcb_TipoLetra.getSelectedItem(),Font.PLAIN,TTLetra*5));  
            
System.out.println((String)Jcb_TipoLetra.getSelectedItem() + " Tamaño   "+TTLetra);
             }
            
            
       }
       private JPanel JP_Texto,JP_Botones;
       private JLabel JL_Texto;
       private JComboBox Jcb_TipoLetra,Jcb_TamañoLetra;
      
}



Muchas gracias a todos, espero que os pueda ser útil.


Buscar este blog

Sandisk y Western Digital