19 ene 2011

Insertar Eliminar Datos en ListBox Java

Para Esta Ocasion Utilizaremos las Siguientes Propiedades

Primero Diseniamos la pantalla de presentacion que tendra nuestra aplicacion


Asi como se Muestra :





Utilizaremos la propiedad : MODEL del Jlist que nos permite personalizar el Elemento Jlist
desde El codigo dicha propiedad se puede cambiar como se observa la imagen y le asignamos el nombre nuestra pereferencia










luego en el formulario como se muestra el siguiente codigo

01  /*
02 * JvinFrm.java
03 *
04 * Created on 14/01/2011, 11:32:16 PM
05 */
06
07 package jvinlistbox;
08 import javax.swing.DefaultListModel;
09 import javax.swing.JOptionPane;
10 /**
11 *
12 * @author Vinces
13 */
14 public class JvinFrm extends javax.swing.JFrame {
15 DefaultListModel jvinlist = new DefaultListModel();
16 /*declaramos el modelo del jlist que definimos en la propiedad*/
17 int pos=-1;
18 /** Creates new form JvinFrm */
19 public JvinFrm() {
20 initComponents();
21 txtjvin2.setVisible(false);
22 setSize(450, 465);
23 setLocation(350, 150);
24 this.setResizable(false);
25 }
26
27 private void btnjvinActionPerformed(java.awt.event.ActionEvent evt) {
28 Agregar();//llaama al metodo que insertara los datos
29 }
30
31 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
32 eliminar();//Llamamos Al Metodo Eliminar sin ningun parametro debido a que utiliza
33 //la variable global pos
34 }
35
36 private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
37 verifica();//llamamos al metodo que verificac que indice se ha seleccionado
38 }
39
40 private void jList1FocusGained(java.awt.event.FocusEvent evt) {
41 verifica();//llamamos al metodo que verificac que indice se ha seleccionado
42 }
43
44 private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {
45 verifica();//llamamos al metodo que verificac que indice se ha seleccionado
46 }
47
48 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
49 parametros();//carga el abecedario por defecto
50 }
51
52 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
53 jvinlist.clear();//limmpia el model
54 }
55 /*Meetodos*/
56 public void Agregar()
57 {
58 if(txtjvin.getText().trim().equalsIgnoreCase(""))//verifica se hemo escrito algo
59 {//el textbox(Caja de Texto eliminando espacios en blanco
60 JOptionPane.showMessageDialog(null, "nu ha Escrito Nada tenga la Amabilidad de escribir para poder ingresar los datos al ListBox", "http://Jvinceso.blogspot.com", WIDTH);
61 this.txtjvin.setText("");//limpiamos espacios
62 }
63 else
64 {
65 jvinlist.addElement(txtjvin.getText());//agregamos los datos del textbox al list box
66 this.txtjvin.setText("");//limpiamos caja texto
67 }
68 }
69
70 public void eliminar()
71 {
72 if(pos>=0)//Verificamos que hayan Datos Agregados en el Listbox
73 {
74 jvinlist.remove(pos);//Si Contiene DatosRemovemos del ListModel
75 } else
76 {
77 //Caso Contrario Mostramos un Mensaje De Informacion
78 JOptionPane.showMessageDialog(null, "nu selecciono ningun Item", "http://Jvinceso.blogspot.com", WIDTH);
79 }
80 }
81
82 public void verifica()
83 {
84 if(jvinlist.getSize()>1)//validamos que el listmodel contenga datos
85 {
86 pos = jList1.getSelectedIndex();//Obtenemos el Indice Seleccionado con el metodo getSelectedIndex()
87 //y lo igualamos a la variable global que guarda las posiciones de seleccion
88 int tem=pos+1;
89 txtjvin2.setText("Item a Eliminar : "+tem);//mostramos que indice se eliminara
90 txtjvin2.setVisible(true);//hacemos visible el textbox
91 }
92 }
93 public void parametros()
94 {
95
96 String[] ABC={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
97 for(int i=0;i<ABC.length;i++)
98 {
99 jvinlist.addElement(ABC[i]);
100 }
101 }





ahora solo nos faltaria la clase main la cual tiene el siguiente codigo


01 package jvinlistbox;
02
03 /**
04 *
05 * @author Vinces
06 */
07 public class Main {
08
09 /**
10 * @param args the command line arguments
11 */
12 public static void main(String[] args) {
13 // TODO code application logic here
14 new JvinFrm().setVisible(true);
15 }
16
17 }


LO QUE EJECUTANDO EL PROGRAMA NOS QUEDARIA COMO LAS SIGUIENTES PANTALLAS





no se puede eliminar si no se tiene itemes en el list otra imagen del programa corriendo





y no podia faltar el codigo fuente del programa para bajar el proyecto y darle un vistazo al codigo


Hosting Mediafire
No Olvides Comentar Es Agradecer

2 comentarios:

  1. Saludos amigo baje y probe la pantalla que hiciste. y encontre un error es que no borra el primer dato insertado a la lista debido a que tienes que actualizar el valor en la variable post es decir que obtenga la posicion actual,lo solucione con un metodo llamado getPosicion();te paso el link para que descargues y veas lo que modifique, no hay ninguna mala intención sino que me parecio correcto decirtelo. saludos aqui dejo el link http://www.megaupload.com/?d=VFXSGD5S.

    ResponderEliminar
  2. 1987 la variable pos se actualiza en los metodos cuando se da click y en el FocusGained y FocusLost
    se actualiza el valor de la variable pos desde el metodo verifica().
    pero tu modificacion tambien es valida es otra forma de hacerlo pero agrega mas lineas de codigo

    ResponderEliminar