In java io l'avrei fatta così :

codice:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;

public class ProvaList extends JFrame{

public ProvaList(){

	String prod[]={"10 PATATE","29 MELE","23 SALE","10 PERE"};
	final JList lista=new JList(prod);
	lista.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
	Container cont=getContentPane();
	cont.add(new JScrollPane(lista),"North");
	final JLabel lab=new JLabel("Prodotti = 0");
	cont.add(lab,"Center");
	setBounds(100,100,200,200);
	JButton but=new JButton("Calcola");
	cont.add(but,"South");
	but.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		Object x[]=lista.getSelectedValues();
		int num=0;
		for(int i=0;i<x.length;i++){
			String tmp=(String)x[i];
			num+=Integer.parseInt((tmp.substring(0,tmp.indexOf(" "))));
			}
		lab.setText("Prodotti ="+num);
	}
		});
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String []args){
	new ProvaList().show();

	}
}
Ciauz