Olá pessoal, mais uma vez uma pergunta básica.
estou usando o jbuilder e preciso preencher o conteúdo de um jList em tempo de execução. Sei q uma forma de colocar valores p/ ele e passando um array p/ o constructor + neste caso eu não posso fazer isso.
quero via loop preencher ele com string’s.
como posso fazer isto?
desde ja muito obrigado
Acho que é isso que vc quer
import java.util.ArrayList;
public class Teste extends javax.swing.JFrame {
public Teste() {
initComponents();
}
private void initComponents() {
jTextField1 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jMenuBar1 = new javax.swing.JMenuBar();
getContentPane().setLayout(null);
setTitle("Teste da Aplicau00e7u00e3o");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jTextField1KeyPressed(evt);
}
});
getContentPane().add(jTextField1);
jTextField1.setBounds(70, 40, 200, 20);
jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane1.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane1.setViewportView(jList1);
getContentPane().add(jScrollPane1);
jScrollPane1.setBounds(80, 93, 180, 110);
setJMenuBar(jMenuBar1);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-500)/2, (screenSize.height-400)/2, 500, 400);
}
private void jTextField1KeyPressed (java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == evt.VK_ENTER) {
arraylist.add(jTextField1.getText());
jTextField1.setText(null);
jList1.setModel(new javax.swing.AbstractListModel() {
public int getSize() { return arraylist.size(); }
public Object getElementAt(int i) { return arraylist.get(i); }
});
}
}
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
new Teste().show();
}
private ArrayList arraylist = new ArrayList();
// Variables declaration - do not modify
private javax.swing.JList jList1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField1;
}
Legal, adaptei o código a minha necessidade de funcionou.
posso te pedir uma coisa?
me explica melhor o funcionamento desta parte do código!!
[code]
private void jTextField1KeyPressed (java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == evt.VK_ENTER) {
arraylist.add(jTextField1.getText());
jTextField1.setText(null);
jList1.setModel(new javax.swing.AbstractListModel() {
public int getSize() { return arraylist.size(); }
public Object getElementAt(int i) { return arraylist.get(i); }
});
}
} [/code]
Estou acostumado com Delphi e esperava algo como
jList1.itens.add("teste’)
e este exemplo q vc me mandou, apesar de funcionar, não compreendi perfeitamente o funcionamento.
muito obrigado desde já
ricardo