Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: cardiobeta en 14 de Marzo 2013, 00:57

Título: Cargar JOptionPane con JComboBox java a partir de base de datos
Publicado por: cardiobeta en 14 de Marzo 2013, 00:57
Hola. Trabajando con jOptionPane y observando que se le puede adicionar un jComboBox pense en la posibilidad de añadir los datos de una columna de una tabla en ese JComboBox. Mi pregunta es: ¿es eso posible? y de ser asi ¿Como se haria?. Gracias.
Título: Re:Cargar JOptionPane con JComboBox a partir de base de datos.
Publicado por: javi in the sky en 14 de Marzo 2013, 15:02
Si lo veo posible, tienes que crear un array de objetos y en esos objetos introducir los textos rescatados de la base de datos, como está en este ejemplo pero rescatando los datos de la base de datos

Código: [Seleccionar]
//(1) PAQUETE

import java.awt.*;

import javax.swing.*;

//(2) FORMULARIO

public class Programa1 extends JFrame {

    //(3) CONTROLES DEL FORMULARIO       

    JPanel jpanel = (JPanel) this.getContentPane();

    JLabel jlabel = new JLabel();

    JTextField jtextfield = new JTextField();   

    //(4) CONSTRUCTOR DEL FORMULARIO       

    public Programa1() {

        //(5) PROPIEDADES DEL CONTENEDOR

        jpanel.setLayout(null);

        jpanel.setBackground(Color.lightGray);

        //(6) PROPIEDADES DE LOS CONTROLES         

        jlabel.setBounds(new Rectangle(5, 15, 220, 21));

        jlabel.setText("Introduzca su peso en kgs por favor");

        jtextfield.setBounds(new Rectangle(225, 15, 80, 21));

        //(7) ADICION DE LOS CONTROLES AL CONTENEDOR       

        jpanel.add(jlabel, null);

        jpanel.add(jtextfield, null);

        //(8) PROPIEDADES DEL FORMULARIO         

        setSize(300,150);

        setTitle("Form1");

        setVisible(true);

        Object[] possibilities = {"mermelada", "chocolate", "mantequilla"};
        String s = (String)JOptionPane.showInputDialog(
                this,
                "Completa la frase:\n"
                + "\"Pan con...\"",
                "Preguntando por pan",
                JOptionPane.PLAIN_MESSAGE,
                null,
                possibilities,
                "mermelada");

        //If a string was returned, say so.
        if ((s != null) && (s.length() > 0)) {
            jlabel.setText("Pan con... " + s + "!");
            return;
        }

        //If you're here, the return value was null/empty.
        jlabel.setText("Por favor completa la frase");

    }

    //(9) METODOS DEL FORMULARIO     

    public static void main(String arg[]) {

        new Programa1();

    }

Título: Re:Cargar JOptionPane con JComboBox a partir de base de datos.
Publicado por: cardiobeta en 14 de Marzo 2013, 19:13
El asunto es que tengo una tabla llamada personas con 2 campos: id y nombre. Lo que quiero es que todos loe elementos de la columna nombre sean los object que se adicionen al JOptionPaned. He intentado hacerlo creando un arraylist pero al adicionarlo me aparece un jComboBox con un solo item donde se inscribe: pedro, maria, juana, carmen; seguidos y separados por comas y yo quiero que cada nombre sea un item. No se si me explique bien. Gracias por el interes
Título: Re:Cargar JOptionPane con JComboBox a partir de base de datos.
Publicado por: javi in the sky en 14 de Marzo 2013, 23:14
Pero fíjate en el ejemplo, no tienes que crear un ArrayList sino un arreglo o array de elementos Object:

Object[] possibilities = {"mermelada", "chocolate", "mantequilla"};
        String s = (String)JOptionPane.showInputDialog(
                this,
                "Completa la frase:\n"
                + "\"Pan con...\"",
                "Preguntando por pan",
                JOptionPane.PLAIN_MESSAGE,
                null,
                possibilities,
                "mermelada");