Autor
|
Tema: Como agregar elementos (strings) a un jList NetBeans 6.8? (Leído 47,526 veces)
|
IntoxicKat
Desconectado
Mensajes: 28
|
Hola a todos, he estado buscando desde antier y no logro resolver mi problema. La verdad me enredo mucho con eso de que dicen los documentos o manuales que encuentro en ingles y español. Dicen crea un vector para meter al jlist o dicen que el DefaultListModel. La verdad no entiendo mucho. Se que tengo que leer mucho mas eso para entender. Pero es que me urge este detalle. Lo que hago es una aplicación desktop con NetBeans 6.8 y le meto un jList1 y luego quiero leer los archivos de un directorio para listarlos en el jList1. Asi me meto al código del jList1: Y desde aca intento agregar el código. Pero no pasa nada. Agrego esto: //Listar contenido de la carpeta excel en el jList1AAnalizar String sDirExcel = "C:/Documents and Settings/sistemas/Mis documentos/NetBeansProjects/excel"; //Comprobamos la existencia del directorio. if(f.exists()) { } else { JOptionPane. showMessageDialog(null, "Verifica que exista la carpeta excel en su lugar y con el nombre adecuado!"); } //Recorrer directorio y listarlos en el jList1 File[] ficheros = f. listFiles(); for(int i = 0; i < ficheros.length; i++) { //Aca no se como meter todos los archivos del directorio al jList1 }
Muchas gracias. En serio, no he logrado hacer esto. Espero me tengan paciencia ya que no se casi nada sobre programación. Un saludo y de antemano gracias por la respuesta.
|
|
« Última modificación: 1 Agosto 2010, 21:53 pm por LEYER »
|
En línea
|
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
a tu Jlist tienes que pasarle como argumento una instancia de DefaultListModel luego utilizando el metodo .addElement(""); del DefaultListModel consigues que se vallan agregando al Jlist ej: listModel.addElement("");
Saludos.
|
|
|
En línea
|
|
|
|
IntoxicKat
Desconectado
Mensajes: 28
|
Gracias LEYER. Al jList le paso como aurumento la instancia de DefaultListModel DefaultListModel listModel = new DefaultListModel(); JList list = new JList(listModel); Pero al tratar de agregar un elemento, simplemente no me agrega nada al jList1. Lo hago así: listModel.addElement(""); Que esta mal? Todo esto esta dentro del boton que he creado. He dicho que el proyecto lo hice en Netbeans/File/New Proyect/Java Desktop application. Ya 3 dias con este problema y no puedo! Saludos!
|
|
|
En línea
|
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
mmmmmmm bueno si estas haciendo esto asi listModel.addElement(""); claro que no agregara nada es decir listModel.addElement("Elemento"); al jlist se le agregara "elemento" otra cosa no puedes tener todo dentro de la accion del button ya el jlist tiene que estar agregado a tu jframe junto que su defaultListModel . Saludos.
|
|
|
En línea
|
|
|
|
IntoxicKat
Desconectado
Mensajes: 28
|
Que tal LEYER. Gracias por la ayuda y la paciencia- Le he puesto entre las comillas texto, solo que en lo que postee anteriormente puse listModel.addElement(""); por descuido. Ya he metido el jList y el DefaultListModel en el jFrame, pero no resulta nada. El codigo que esta en mi desktopapplication es este: /* * ListView.java */ [code=java] package list;
import org.jdesktop.application.Action; import org.jdesktop.application.ResourceMap; import org.jdesktop.application.SingleFrameApplication; import org.jdesktop.application.FrameView; import org.jdesktop.application.TaskMonitor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; import javax.swing.Icon; import javax.swing.JDialog; import javax.swing.JFrame; import java.io.*; import javax.swing.*;
import java.util.*;
/** * The application's main frame. */ public class ListView extends FrameView { //jList y DefaultListModel dentro del frame. DefaultListModel listModel = new DefaultListModel(); JList list = new JList(listModel);
public ListView(SingleFrameApplication app) { super(app);
initComponents();
// status bar initialization - message timeout, idle icon and busy animation, etc ResourceMap resourceMap = getResourceMap(); int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout"); messageTimer = new Timer(messageTimeout, new ActionListener() { public void actionPerformed(ActionEvent e) { statusMessageLabel.setText(""); } }); messageTimer.setRepeats(false); int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate"); for (int i = 0; i < busyIcons.length; i++) { busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]"); } busyIconTimer = new Timer(busyAnimationRate, new ActionListener() { public void actionPerformed(ActionEvent e) { busyIconIndex = (busyIconIndex + 1) % busyIcons.length; statusAnimationLabel.setIcon(busyIcons[busyIconIndex]); } }); idleIcon = resourceMap.getIcon("StatusBar.idleIcon"); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false);
// connecting action tasks to status bar via TaskMonitor TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { String propertyName = evt.getPropertyName(); if ("started".equals(propertyName)) { if (!busyIconTimer.isRunning()) { statusAnimationLabel.setIcon(busyIcons[0]); busyIconIndex = 0; busyIconTimer.start(); } progressBar.setVisible(true); progressBar.setIndeterminate(true); } else if ("done".equals(propertyName)) { busyIconTimer.stop(); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false); progressBar.setValue(0); } else if ("message".equals(propertyName)) { String text = (String)(evt.getNewValue()); statusMessageLabel.setText((text == null) ? "" : text); messageTimer.restart(); } else if ("progress".equals(propertyName)) { int value = (Integer)(evt.getNewValue()); progressBar.setVisible(true); progressBar.setIndeterminate(false); progressBar.setValue(value); } } }); }
@Action public void showAboutBox() { if (aboutBox == null) { JFrame mainFrame = ListApp.getApplication().getMainFrame(); aboutBox = new ListAboutBox(mainFrame); aboutBox.setLocationRelativeTo(mainFrame); } ListApp.getApplication().show(aboutBox); }
/** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
mainPanel = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); jList1 = new javax.swing.JList(); jToggleButton1 = new javax.swing.JToggleButton(); list1 = new java.awt.List(); menuBar = new javax.swing.JMenuBar(); javax.swing.JMenu fileMenu = new javax.swing.JMenu(); javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem(); javax.swing.JMenu helpMenu = new javax.swing.JMenu(); javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem(); statusPanel = new javax.swing.JPanel(); javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator(); statusMessageLabel = new javax.swing.JLabel(); statusAnimationLabel = new javax.swing.JLabel(); progressBar = new javax.swing.JProgressBar();
mainPanel.setName("mainPanel"); // NOI18N
jScrollPane1.setName("jScrollPane1"); // NOI18N
jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); jList1.setName("jList1"); // NOI18N jList1.addAncestorListener(new javax.swing.event.AncestorListener() { public void ancestorMoved(javax.swing.event.AncestorEvent evt) { } public void ancestorAdded(javax.swing.event.AncestorEvent evt) { jList1AncestorAdded(evt); } public void ancestorRemoved(javax.swing.event.AncestorEvent evt) { } }); jScrollPane1.setViewportView(jList1);
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(list.ListApp.class).getContext().getResourceMap(ListView.class); jToggleButton1.setText(resourceMap.getString("jToggleButton1.text")); // NOI18N jToggleButton1.setName("jToggleButton1"); // NOI18N jToggleButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jToggleButton1ActionPerformed(evt); } });
list1.setName("list1"); // NOI18N list1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { list1ActionPerformed(evt); } });
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); mainPanel.setLayout(mainPanelLayout); mainPanelLayout.setHorizontalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addGap(81, 81, 81) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 167, Short.MAX_VALUE) .addComponent(list1, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(51, 51, 51)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup() .addContainerGap(285, Short.MAX_VALUE) .addComponent(jToggleButton1) .addGap(107, 107, 107)) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addGap(54, 54, 54) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(81, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(list1, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 49, Short.MAX_VALUE) .addComponent(jToggleButton1) .addGap(28, 28, 28)) );
menuBar.setName("menuBar"); // NOI18N
fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N fileMenu.setName("fileMenu"); // NOI18N
javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(list.ListApp.class).getContext().getActionMap(ListView.class, this); exitMenuItem.setAction(actionMap.get("quit")); // NOI18N exitMenuItem.setName("exitMenuItem"); // NOI18N fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N helpMenu.setName("helpMenu"); // NOI18N
aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N aboutMenuItem.setName("aboutMenuItem"); // NOI18N helpMenu.add(aboutMenuItem);
menuBar.add(helpMenu);
statusPanel.setName("statusPanel"); // NOI18N
statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
statusMessageLabel.setName("statusMessageLabel"); // NOI18N
statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
progressBar.setName("progressBar"); // NOI18N
javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel); statusPanel.setLayout(statusPanelLayout); statusPanelLayout.setHorizontalGroup( statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 473, Short.MAX_VALUE) .addGroup(statusPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(statusMessageLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 303, Short.MAX_VALUE) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(statusAnimationLabel) .addContainerGap()) ); statusPanelLayout.setVerticalGroup( statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(statusPanelLayout.createSequentialGroup() .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(statusMessageLabel) .addComponent(statusAnimationLabel) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(3, 3, 3)) );
setComponent(mainPanel); setMenuBar(menuBar); setStatusBar(statusPanel); }// </editor-fold>
private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: listModel.addElement("mmm"); }
private void jList1AncestorAdded(javax.swing.event.AncestorEvent evt) { // TODO add your handling code here:
/* //Declarar una instancia de DefaultListModel. DefaultListModel listModel; //Crearla. listModel = new DefaultListModel(); //Populate it. //listModel.addElement("ss"); //Usar el DefaultListModel en el constructor de JList (String Array). JList list = new JList(listModel); //Agregar un Item al JList hasta arriba. listModel.addElement("item +"); //Agregar un elemento a JList en el Index especificado. listModel.add(2, "mmm"); //Para borrar item del jlist. //listModel.remove(2); //Para limpiar todo el JList. //listModel.clear(); * */ //Listar contenido de la carpeta excel en el jList1AAnalizar String sDirExcel = "C:/Documents and Settings/sistemas/Mis documentos/NetBeansProjects/excel"; File f = new File(sDirExcel);
//JList lista = new JList(new DefaultListModel()); //Comprobamos la existencia del directorio. if(f.exists()) { } else { JOptionPane.showMessageDialog(null,"Verifica que exista la carpeta excel en su lugar y con el nombre adecuado!"); }
//Recorrer directorio y listarlos en el jList1AAnalizar File[] ficheros = f.listFiles(); for(int i = 0; i < ficheros.length; i++) { } }
private void list1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }
// Variables declaration - do not modify private javax.swing.JList jList1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JToggleButton jToggleButton1; private java.awt.List list1; private javax.swing.JPanel mainPanel; private javax.swing.JMenuBar menuBar; private javax.swing.JProgressBar progressBar; private javax.swing.JLabel statusAnimationLabel; private javax.swing.JLabel statusMessageLabel; private javax.swing.JPanel statusPanel; // End of variables declaration
private final Timer messageTimer; private final Timer busyIconTimer; private final Icon idleIcon; private final Icon[] busyIcons = new Icon[15]; private int busyIconIndex = 0;
private JDialog aboutBox; } [/code] Es mucho código que se genera automáticamente. Yo creo que algo anda mal, porque si meto otro jList (sería jList2), como indico a que jList meter el string. si al jList1 o al jList2. (sólo en caso de que tenga dos jList) La verdad ya me comenzé a desesperar porque por mas que veo ejemplos no logro entender eso de DefaultListModel y todo eso. Espero la ayuda de alguien. Un saludo!
|
|
« Última modificación: 1 Agosto 2010, 21:54 pm por LEYER »
|
En línea
|
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
no necesito correr el code para saber que esta mal ademas no uso netbeans por el cual me generaria errores en el code. 1- cuando haces esto/** * The application's main frame. */ public class ListView extends FrameView { //jList y DefaultListModel dentro del frame.
No lo estas AGREGANDO al Jframe claro esta. 2-Veo que tienes ya un Jlist autogenerado por Netbeans bueno ha ese es al que tienes que pasarle el DefaultListModel y es hay entoces que puedes hacer listModel.addElement("");mas Facil aun... EN lla declaracion de variables agrega una instancia del DefaultListModel // Variables declaration - do not modify private javax. swing. JList jList1 ; ....
Entonces aqui... al Jlist le pasas la instancia del DefaultListModel @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { mainPanel = new javax. swing. JPanel(); jList1 = new javax. swing. JList(defaultListModel ); //Le pasas la instancia del DefaultListModel
y bueno ya solo te faltaria llamar a defaultListModel.addElement("Elemento"); Saludos y suerte.
|
|
« Última modificación: 16 Enero 2010, 02:31 am por LEYER »
|
En línea
|
|
|
|
taam
Desconectado
Mensajes: 1
|
hola =) ... a mi no me quedo muy claro como realizaron el proceso, lo que yo necesito hacer es que a medida que se agregan string en un textfield, utilizando jframe, este me los muestre en un jlist... si alguien me pudiera decir cómo le estaria muy agradecida
|
|
« Última modificación: 15 Febrero 2010, 08:11 am por taam »
|
En línea
|
|
|
|
sapito169
Desconectado
Mensajes: 628
|
-cambiate a cualquier otro ide recomieno block de notas -cuando sepas lo que ases recien usa netbeans -trata de leer tu propio codigo osea el que tu mismo as creado usando el asistente -netbeans siempre ase demasiado codigo autogenerado
siempre es lo mismo un novato tratando de resolver un problema con netbeans sin conocer ni swing ni lo que son eventos
|
|
« Última modificación: 15 Febrero 2010, 21:11 pm por sapito169 »
|
En línea
|
|
|
|
|
euroluar
Desconectado
Mensajes: 2
|
tuve el mismo inconveniente con el JList... lo que yo hice ( no cambiarme de IDE y aprender como se usa ) lo siguiente: public static void cargar_jlist() { try{ DefaultListModel defaultListModel = new DefaultListModel(); do{ defaultListModel.addElement(temp_rs.getObject("columna").toString()); }while(temp_rs.next()); frame1.jList1.setModel(defaultListModel); }//fin del try catch(SQLException e){ System.out.println(" SQL Exception: "+ e.toString()); } } ...esta funcion debe ser llamada en algun lado y listo Saludos y aguante el NB
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con problema en netbeans con jlist
Java
|
wilso
|
3
|
4,879
|
13 Junio 2011, 03:17 am
por 1mpuls0
|
|
|
ayuda sobre el metodo agregar datos a la tabla en netbeans con sql
Dudas Generales
|
sgonzalez73
|
1
|
3,552
|
17 Julio 2013, 15:34 pm
por howdoyouturn69
|
|
|
Como añadir elementos a un JList (Java)
Programación General
|
moleroalex
|
2
|
5,279
|
24 Noviembre 2013, 19:22 pm
por moleroalex
|
|
|
Guardar los elementos de un jlist
Java
|
marc85
|
0
|
1,667
|
20 Noviembre 2014, 18:34 pm
por marc85
|
|
|
Mostrar elementos en un Jlist al presionar un item de un Jcombobox
Java
|
danndres
|
1
|
4,747
|
22 Marzo 2015, 14:58 pm
por Usuario Invitado
|
|