OK so I'm doing a small part of my inventory. I got MOST of it down. I'm trying to add string items to an ArrayList then add that to a JList. However, I'm getting this error when I compile:

C:\Users\Dan\Documents\DanJavaGen\inventory.java:30: cannot find symbol
symbol  : constructor JList(java.util.ArrayList<java.lang.String>)
location: class javax.swing.JList
        list = new JList(arr);

It's probably some rookie mistake I am making ... :/

Code:

import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import javax.swing.JList;
import java.awt.event.*;
import java.util.ArrayList;
import java.io.*;
import java.util.*;

public class inventory extends JApplet implements MouseListener {

public static String newline;
public static JList list;
int gold = 123;

    public void init() {



ArrayList<String> arr = new ArrayList<String>();
arr.add("Hatchet");
arr.add("Sword");
arr.add("Shield");
arr.add(gold + " Gold");
System.out.println("You have " + arr.size() + " items in your inventory.");
showInventory(arr);



        list = new JList(arr);

        add(list);

        list.addMouseListener(this);

        list.setVisible(true);

    }

public static void showInventory (ArrayList<String> theList) {
for (int i = 0; i < theList.size(); i++) {
System.out.println(theList.get(i));
}
}


    public void mousePressed(MouseEvent e) { }

    public void mouseReleased(MouseEvent e) {
        Object index = list.getSelectedValue();
       System.out.println("You have selected: " + index);
    }

    public void mouseEntered(MouseEvent e) { }

    public void mouseExited(MouseEvent e) { }

    public void mouseClicked(MouseEvent e) { }




    public void paint(Graphics g) {

    }
}
share|improve this question

2 Answers

up vote 6 down vote accepted

JList provides a constructor JList(Object[]) which you can call after unpacking your ArrayList<String> using toArray():

list = new JList(arr.toArray())
share|improve this answer
Great post ... but now I have a new error... see my new topic :| – weka Jul 17 '10 at 0:02

Constructor Summary
JList() Constructs a JList with an empty, read-only, model.
JList(ListModel dataModel) Constructs a JList that displays elements from the specified, non-null, model.
JList(Object[] listData) Constructs a JList that displays the elements in the specified array.
JList(Vector listData) Constructs a JList that displays the elements in the specified Vector.

share|improve this answer

Your Answer

 
or
required, but never shown
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.