Facebook Fanpage


  • Enviar formulario con ajax jquery

    En el siguiente ejemplo, os mostraré como enviar un formulario vía AJAX, este proceso facilitará las consultas necesarias a PHP, todo ello...
  • Descifrando la Seguridad: El Fascinante Mundo de los Criptosistemas de Clave Pública

    Entrada 1: La Revolución de la Criptografía Asimétrica¿Alguna vez te has preguntado cómo puedes enviar información confidencial a través de internet...
  • Cómo configurar un servidor FTP sobre CentOS 7

    Instalación y puesta en marcha de vsftpd Instalar vsftpd en CentOS 7 es sencillo, en esta versión todavía se sigue usando Yum, el gestor de...
  • Oracle Dumpdir – Import, Export y el uso de Directorios.

    Oracle Dumpdir  Import, Export y el uso de Directorios. Cuando tenemos diferentes objetos de la base, ya sea una tabla, datos, etc y...
  • Solución a ORA-65096: invalid common user or role name en Oracle

    Solución a ORA-65096: invalid common user or role name en Oracle Hola a todos, hoy explicaré como solucionar un problema común en Oracle al...
  • Asignar permisos correctos a carpetas 755 y ficheros 644 de forma masiva

    Asignar permisos correctos a carpetas 755 y ficheros 644 de forma masiva Por defecto, en el FTP de una web los permisos deben ser los siguientes:...
  • Publicar aplicación WAR/JSP/SERVLET/TOMCAT/MYSQL en servidor dedicado/vps cPanel

    Publicar aplicación war con conexión a mysql.1. Ingresar al cPanel2. En la opción "Mysql Bases de datos", crear una base de datos, un usuario de...
  • Generar jar con NetBeans incluyendo Bibliotecas Externas Java

    Hola amigos, después de buscar un poco acerca de como incluir las librerías que utilizamos en nuestros proyectos Java...
  • Subir imagen al servidor con Yii Framework y eliminar imagenes del servidor

    En esta ocacion les traigo la manera de como subir imagenes al servidor y una ves subidas las imagenes como eliminarlas del servidor, este ejemplo es...
  • crear host virtual

    Cómo crear un VirtualHost en ubuntu y apache En este post veremos qué es y cómo crear un virtual host utilizando ubuntu y apache. ¿Qué es un...
  • Enviar formulario con ajax jquery

    En el siguiente ejemplo, os mostraré como enviar un formulario vía AJAX, este proceso facilitará las consultas necesarias a PHP, todo ello...
  • Descifrando la Seguridad: El Fascinante Mundo de los Criptosistemas de Clave Pública

    Entrada 1: La Revolución de la Criptografía Asimétrica¿Alguna vez te has preguntado cómo puedes enviar información confidencial a través de internet...
Previous Next

domingo, 30 de septiembre de 2012

Aprendiendo a Utilizar JComboBox


JComboBox, es un componente de java q nos sirve para controlar la selecion del usuario final a un determinado conjunto de tipos, algo asi es la idea, ademas creoq eso la lo sabran…jeje
El ejericio q les mostrare, es una aplicacion q tiene 2 JComboBox, el cual el primer combo controla el contenido del segundo combo, es decir, si selecionas un elemento del primero, el segundo combo, mostrara el contenido respecto a dicha selecion.
Una ves entendido, la logica de la aplicacion, lo implementamos, LA VERDAD ES REALMENTE SENCILLO. Para este caso, tendremos 2(dos) clases WindowDemoCombo y ControlDemoCombo.
La primera clase(WindowDemoCombo), es la ventana(JFrame, JLabel, JComboBox… en fin todos los componentes q actuan en la ventana) q visualiza el usuario.
La segunda clase(ControlDemoCombo), es la clase q controla los eventos, en este caso la accion de selecion en el primer JComboBox.
WindowDemoCombo; Creamos los componentes swing, y CREAMOS un objeto de la clase q controlada sus eventos, en este caso;
ControlDemoCombo controlDemoCombo = new ControlDemoCombo(this);
Veamos q al momento de crearlo estamos pasando “this”, esto quiere decir q al momento de crear la clase q lo controlara, le pasaremos como argumento toda la ventana… es obvia la idea, le pasamos toda la ventana, para q asi pueda acceder a ella.
Aqui el fuente
/*Demostracion Aprendiendo con JComboBox por inforux.wordpress.com */
import javax.swing.*;
public class WindowDemoCombo extends javax.swing.JFrame {

    /** Creamos el constructor de la misma */
    public WindowDemoCombo() {
        initComponents();}

    private void initComponents() {
        jPanel1 = new JPanel();
        jLabel1 = new JLabel();
          jLabel2 = new JLabel();
        jLabel3 = new JLabel();
        jComboBox1 = new JComboBox(pais);//creamos el primer combo, y le pasamos un array de cadenas
        jComboBox1.setSelectedIndex(0);//por defecto quiero visualizar el primer item
        jComboBox2 = new JComboBox();//creamo el segundo combo, vacio
        jComboBox2.setEnabled(false);////por defecto q aparesca desabilidado

        setResizable(false);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(null);
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Aprendiendo con JComboBox"));
        jPanel1.setLayout(null);
        jLabel1.setText("Pais");
        jPanel1.add(jLabel1);
        jLabel1.setBounds(30, 30, 50, 20);
        jPanel1.add(jComboBox1);
        jComboBox1.setBounds(100, 30, 150, 24);
        jPanel1.add(jComboBox2);
        jComboBox2.setBounds(100, 70, 150, 24);
        jLabel2.setText("Region");
        jPanel1.add(jLabel2);
        jLabel2.setBounds(30, 70, 60, 20);
        getContentPane().add(jPanel1);
        jPanel1.setBounds(10, 50, 370, 110);
        jLabel3.setText("DEMO POR INFORUX");
        getContentPane().add(jLabel3);
        jLabel3.setBounds(120, 20, 170, 20);
        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-412)/2, (screenSize.height-213)/2, 412, 213);

        /*Creamos el objeto controlador, para manejar los eventos*/
        ControlDemoCombo controlDemoCombo = new ControlDemoCombo(this);//le pasamos como argumento esta misma ventana
        jComboBox1.addActionListener(controlDemoCombo);//agregamos escuchas
    }
    public static void main(String args[]) {
                new WindowDemoCombo().setVisible(true);}

    // Desclaramos las variables autilizar
    String [] regionArgentina={"Buenos Aires","Cordova","Santa Cruz"};//array del segundo combo
    String [] regionColombia={"Bogota","Cartagena","Cali"};//array del seguno combo
    String [] regionPeru={"Arequipa","Lima","Piura"};//array del segundo combo
    String [] pais={"Selecione Pais","Argentina","Colombia","Peru"};//array del primer combo
    public JComboBox jComboBox1;
    public JComboBox jComboBox2;
    public JLabel jLabel1;
    private JLabel jLabel2;
    private JLabel jLabel3;
    private JPanel jPanel1;
}
ControlDemoCombo: Es una clase controladora de todas las acciones q realize el usuario en la
ventana(WindoDemoCombo). en este caso, la clase implement de ActionListener, y declara una variable del tipo
WindowDemoCombo, este nos servira para recibir el valor “this”, enviado anteriormente.
    WindowDemoCombo frameDemoCombo;
La idea es preguntar si la accion viene del primer combo
    if (evento.getSource()==frameDemoCombo.jComboBox1)
luego, preguntar cual de los elementos ha hecho click, esto lo podemos hacer con el metodo getSelectedIndex(), este nos retorna el numero del indice seleciono.
     if (frameDemoCombo.jComboBox1.getSelectedIndex()==0)
despues de saber, cual esta selecionado solo nos queda llenar el segundo combo, no sin antes elimnar, todos los elementos posibles.
   frameDemoCombo.jComboBox2.removeAllItems();
   frameDemoCombo.jComboBox2.addItem(frameDemoCombo.regionArgentina[i]);
Aqui elfuente:
import java.awt.event.*;
public class ControlDemoCombo implements ActionListener{
    WindowDemoCombo frameDemoCombo;
    public ControlDemoCombo(WindowDemoCombo objeto){
        frameDemoCombo=objeto;}

    public void actionPerformed(ActionEvent evento)
    {
            if (evento.getSource()==frameDemoCombo.jComboBox1)//pregunta si el evento viene del primer combo
            {/*pregunta si viene del primer elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==0){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    frameDemoCombo.jComboBox2.setEnabled(false);}
            /*pregunta si viene del segundo elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==1){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    for (int i=0; i<frameDemoCombo.regionArgentina.length;i++)
                    frameDemoCombo.jComboBox2.addItem(frameDemoCombo.regionArgentina[i]);
                    frameDemoCombo.jComboBox2.setEnabled(true);}
        /*pregunta si viene del tercer elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==2){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    for (int i=0; i<frameDemoCombo.regionColombia.length;i++)
                    frameDemoCombo.jComboBox2.addItem(frameDemoCombo.regionColombia[i]);
                    frameDemoCombo.jComboBox2.setEnabled(true);}
        /*pregunta si viene del cuarto elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==3){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    for (int i=0; i<frameDemoCombo.regionPeru.length;i++)
                    frameDemoCombo.jComboBox2.addItem(frameDemoCombo.regionPeru[i]);
                    frameDemoCombo.jComboBox2.setEnabled(true);}
            }
    }
}
Y listo ahora , compilar (javac *.java) y Listo, al ejecutar (java WindowDemoCombo), debe aparecer esta pantalla:

Selecionamos y se activara el segundo combo, con sus respectivos valores del primero.


Funciona!, Espero les sea de utilidad.
Saludos.

0 comentarios:

Publicar un comentario