Bueno Javi me puse a le el api y en el JList no hay un metodo q t devuelva el número total d elemntos, pero si construyes tu JList son un ListModel asi si podrias saber el total d elementos y poder hacer un for para llenar tu "arreglo" d todas manera y por si t sirve d algo hize esto
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Listas extends JFrame implements ActionListener
{
JLabel lblEtiqueta1;
JButton cmdAceptar, cmdImprimir;
JList lstLista;
Vector articulos;
String[] art = {"Libros","Libretas","Cajas","Borradores","Lapíz","Sacapuntas"};
Container contenedor = getContentPane();
public Listas()
{
articulos = new Vector();
setTitle("Guarda Lista");
setSize(200,250);
setLocation(300,400);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
crearGUI();
setVisible(true);
}
public void crearGUI()
{
lblEtiqueta1 = new JLabel("Lista");
lstLista = new JList(art);
cmdAceptar = new JButton("Aceptar");
cmdImprimir = new JButton("Imprimir");
contenedor.setLayout(new FlowLayout());
contenedor.add(lblEtiqueta1);
contenedor.add(lstLista);
contenedor.add(cmdAceptar);
contenedor.add(cmdImprimir);
cmdAceptar.addActionListener(this);
cmdImprimir.addActionListener(this);
}
public void llenarVector(String valor)
{
articulos.add(valor);
}
public void imprimir()
{
for(int i = 0; i<articulos.size(); i++)
System.out.println(articulos.get(i).toString());
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == cmdAceptar)
{
llenarVector(""+lstLista.getSelectedValue());
System.out.println(""+lstLista.getSelectedValue());
}
else if(e.getSource() == cmdImprimir)
imprimir();
}
public static void main(String JC[])
{
new Listas();
}
}