当前位置: 首页 > 面试题库 >

Java ArrayLists转换为JList

萧晔
2023-03-14
问题内容

好,所以我只占了库存的一小部分。我记不清了。我试图将字符串项添加到ArrayList,然后将其添加到JList。但是,在编译时出现此错误:

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);

我可能正在犯一些菜鸟错误…:/

码:

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) {

    }
}

问题答案:

JList* 提供了一个构造函数 JList(Object []) ,您可以在使用 toArray()压缩ArrayList

后调用该构造函数:
*

list = new JList(arr.toArray())


 类似资料:
  • 问题内容: 我怎样才能投来? 问题答案: 您必须创建一个新的。

  • 问题内容: 我仍然是Java的初学者,所以我对线程和并发的了解还很少。但是,由于java.util.Timer和TimerTask存在问题,我希望能够将ScheduledThreadPoolExecutor用作计时器。我对线程的创建非常感兴趣,并且知道我将在几周内学习它们。但是,如果可以的话,有人可以给我一个基本的示例,说明如何使用util.timer将当前的迷你测试程序转换为ScheduledT

  • 更新:我已经尝试将getCalcMean()和calcMean;我理解这个错误的含义,但我不知道如何修复它,因为最终结果需要是double,我认为java可以计算double和int并得到double。我做错了什么? 我正在计算键入999后的总数平均值,但它一直显示为0,我不知道为什么。 有人能告诉我如何让我的getCalcMean()方法将平均值显示为numTotal/count吗? ---班级

  • 我想把下面的代码转换成Java8s。

  • 最近,我浏览了一些网站,将中缀转换成前缀符号,最后我被卷了起来。 我已经给出了我所做的步骤。。 例:-(1(2*3))(5*6)(7/8) 方法1:-(无需任何算法的手动转换):- 方法2:- 根据现场情况http://scanftree.com/Data_Structure/infix-to-prefix 所以,在这里我完全被绞死了。 请任何人提供以下方面的信息:- 关于我在以上2种方法中哪里出

  • 问题内容: 如何将String 列表转换为数组?以下代码返回错误。 错误: 问题答案: 你要 有关文档,请参见此处,请注意,您也可以以填充已传递数组的方式调用此方法,而不仅仅是使用它来计算要返回的类型。另请注意,也许当您打印阵列时,您更喜欢 因为那将打印实际的元素。