Adicionar em List

Galera, sou iniciante e estou tentando aprender a programar em java fazendo uns exercicios. Estou sofrendo bastante, mas estou achando legal. Sera que alguem pode me ajudar nesse codigo abaixo? Adicionei uma list (que consequentemente adicionou uma scrollPane, nao entendi isso…) porem o prorama gera um erro. alguem pode me explicar como faço isso funcionar? a duvida é idiota, mas ainda estou aprendendo… ;D

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    int contador=0;
    String nome=" ";
    nome=jTextField1.getText();
    while (contador<10){
      jList1.add(nome);     <------------------- erro (cannot find symbol method add..)
      contador++;
    }
}

vc fez o import?

e instanciou o jlist?

Se vc esta tentando adicionar items para serem exibidos na lista o correto é usar um model

JList jlist = new JList(); DefaultListModel model = (DefaultListModel) jlist.getModel(); model.addElement("abc"); jlist.setModel(model);

ou dar um set na listData dele

Object []abc = new Object[]{"1", "2"}; jlist.setListData(abc);

vixi… como assim instalou o jlist? eu adicionei ele na jframe atraves do componente swing… tipo…nao manjo quase nda… mas c tivesse q improtar apareceria a opçao pra eu importar lah no erro apontado, nao apareceria? eu uso o netbeans…

kra… nao sei como funciona esse model… hehehe

ah…

é instanciar(essa palavra é muito importante, aprenda sobre ela)… nao instalar…

eu não entendo nada swing/awt… foi um chute…
mas acho que o devel te deu a solução…

instanciar é fazer algo como…

Blablabla blablabla = new Blablabla();

cara voce deve criar um objeto lista primeiro antes de adicionar alguma coisa a ela … tipo o nome que vc está tentando adicionar. Para criar a lista faça:

ArrayList list = new ArrayList();

mas quando eu arrasto a list da barra de componentes swing para minha jframe, eu nao estou criando a list? nao entendi…

ele ta te confundindo… não é list… é JList…

ele ta falando de collections… num tem nada a ver…

jonazz me explica ai entao kra… por favor

Você já tentou o que o devel.andrerocha disse?[quote=devel.andrerocha]Se vc esta tentando adicionar items para serem exibidos na lista o correto é usar um model

JList jlist = new JList(); DefaultListModel model = (DefaultListModel) jlist.getModel(); model.addElement("abc"); jlist.setModel(model);

ou dar um set na listData dele

Object []abc = new Object[]{"1", "2"}; jlist.setListData(abc);
[/quote]

já tentei sim… só se eu nao fiz certo… só sei que nao deu…

Posta aí como você fez.

pera ae

import java.util.ArrayList;
import javax.swing.DefaultListModel;
import javax.swing.JList;

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

/*

  • UsoWhile.java
  • Created on 16/12/2008, 18:27:12
    */

/**
*

  • @author Usuário
    */
    public class UsoWhile extends javax.swing.JFrame {

    /** Creates new form UsoWhile */
    public UsoWhile() {
    initComponents();
    }

    /** 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”)
      //
      private void initComponents() {

      jTextField1 = new javax.swing.JTextField();
      jButton1 = new javax.swing.JButton();
      jLabel1 = new javax.swing.JLabel();
      jScrollPane1 = new javax.swing.JScrollPane();
      jList1 = new javax.swing.JList();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      jButton1.setText(“Inserir”);
      jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jButton1ActionPerformed(evt);
      }
      });

      jLabel1.setText(“Nome:”);

      jList1.setModel(new javax.swing.AbstractListModel() {
      String[] strings = { “Item 1”, “Item 2”, “Item 3” };
      public int getSize() { return strings.length; }
      public Object getElementAt(int i) { return strings[i]; }
      });
      jScrollPane1.setViewportView(jList1);

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGap(105, 105, 105)
      .addComponent(jButton1)
      .addContainerGap(218, Short.MAX_VALUE))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addContainerGap())
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
      .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(155, 155, 155))))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGap(52, 52, 52)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel1)
      .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(jButton1)
      .addGap(31, 31, 31)
      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addContainerGap(61, Short.MAX_VALUE))
      );

      pack();
      }//

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    int contador=0;
    String nome=" ";
    nome=jTextField1.getText();
    while (contador<10){
    jList1.add(nome);
    contador++;

    }

    /**

    • @param args the command line arguments
      */
      public static void main(String args[]) {
      java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
      new UsoWhile().setVisible(true);
      }
      });
      }

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JList jList1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration

}

É o codigo que eu havia feito antes… nao coloquei ai o que o devel.andrerocha havia dito… eu cheguei a testar o q ele falou, mas nao deu certo, nao sei c foi pq eu coloquei errado ou c nao da certo mesmo. Voce pode me ajudar?

Se você fizer certinho, funciona.

já vou até fazer o trabalho de adaptar pro seu código: DefaultListModel model = (DefaultListModel)jList1.getModel(); // criando um novo objeto model a partir do model atual da lista model.addElement("abc"); // adicionando um elemento a esse model jList1.setModel(model); // definindo o model da JList como esse "model atualizado"Agora é só encaixar e adaptar…

vou tentar pera ae