40. Controles de lista

En swing disponemos de controles de lista en la cual podemos añadir elementos. Estas listas son "JList" y "JComboBox".

Dichos controles, se suministran a traves de los objetos "DefaultListModel" y "DefaultComboBoxModel". Ahora veremos la funcion de los dos controles, empecemos.

 

Control JList

 

import javax.swing.*;
import java.awt.event.*;
 
public class Listas extends JFrame implements ActionListener{
 
    JTextField cmpNombre;
    JButton btnAgregar;
    DefaultListModel dlm;
    JList lista;
 
    public Listas(){
        this("Controles",0,0,300,300);
    }
 
    public Listas(String titulo, int x, int y, int w, int h){
        super(titulo);
        this.getContentPane().setLayout(null);
        this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
        this.setBounds(x,y,w,h);
        this.setVisible(true);
 
        JLabel lblNombre = new JLabel("Nombre:");
            lblNombre.setBounds(10,10,80,20);
            this.getContentPane().add(lblNombre);
        cmpNombre = new JTextField();
            cmpNombre.setBounds(100,10,150,20);
            this.getContentPane().add(cmpNombre);
        btnAgregar = new JButton("Agregar");
            btnAgregar.setBounds(100,50,80,30);
            this.getContentPane().add(btnAgregar);
 
        dlm = new DefaultListModel();
        lista = new JList(dlm);
            lista.setBounds(40,100,130,100);
            this.getContentPane().add(lista);
 
            btnAgregar.addActionListener(this);
 
        paintComponents(getGraphics());
 
    }
 
    public void actionPerformed(ActionEvent event){
        dlm.addElement(cmpNombre.getText());
    }
 
    public static void main(String[]args){
 
        Listas l = new Listas();
 
    }
}
 
 
Este tipo de listas, conllevan una serie de metodos, pero que en este mini-curso no veremos.
A continuacion veremos la otra forma de crear listas, en este caso se tratara de una lista desplegable.
 
 
Control JComboBox
 
 
import javax.swing.*;
import java.awt.event.*;
 
public class Listas extends JFrame implements ActionListener{
 
    JTextField cmpNombre;
    JButton btnAgregar;
    DefaultComboBoxModel cbm;
    JComboBox combo;
 
    public Listas(){
        this("Controles",0,0,300,300);
    }
 
    public Listas(String titulo, int x, int y, int w, int h){
        super(titulo);
        this.getContentPane().setLayout(null);
        this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
        this.setBounds(x,y,w,h);
        this.setVisible(true);
 
        JLabel lblNombre = new JLabel("Nombre:");
            lblNombre.setBounds(10,10,80,20);
            this.getContentPane().add(lblNombre);
        cmpNombre = new JTextField();
            cmpNombre.setBounds(100,10,150,20);
            this.getContentPane().add(cmpNombre);
        btnAgregar = new JButton("Agregar");
            btnAgregar.setBounds(100,50,80,30);
            this.getContentPane().add(btnAgregar);
 
        cbm = new DefaultComboBoxModel();
        combo = new JComboBox(cbm);
            combo.setBounds(40,100,130,20);
            this.getContentPane().add(combo);
 
            btnAgregar.addActionListener(this);
 
        paintComponents(getGraphics());
 
    }
 
    public void actionPerformed(ActionEvent event){
        cbm.addElement(cmpNombre.getText());
    }
 
    public static void main(String[]args){
 
        Listas l = new Listas();
 
    }
}

 

Lo mismo que en la otra lista, tambien conlleva una serie de metodos que no explicaremos en este mini-curso. De todas formas, igualmente nombrare alguno de esos metodos, pero que no explicare con profundidad. Dichos metodos son los siguientes:

 

Con el JList:

getSelectedIndex()    Devuelve el indice del elemento que se ha seleccionado

getSelectedValue()    Devuelve el elemento en si seleccionado pero tipo Objeto

 

Con el JComboBox:

getSelectedIndex()    Devuelve el indice del elemento que se ha seleccionado

getSelectedItem()    Devuelve el objeto que esta seleccionado

 

Contacto

ProgramandoJava cabillo@hotmail.es