草庐IT

Java ArrayLists 到 JList

coder 2023-09-01 原文

好的,我正在做我的一小部分 list 。我把它的大部分都记下来了。我正在尝试将字符串项添加到 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 ArrayLists 到 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3269516/

有关Java ArrayLists 到 JList的更多相关文章

  1. java - 如何将 JList 绑定(bind)到 Bean 类属性 - 2

    我尝试将JList绑定(bind)到绑定(bind)类属性Vector。在绑定(bind)类中,当UI中的JTextField更新时,Vector也会更新。publicvoidsetName(Stringname){StringoldName=this.name;this.name=name;VectoroldList=this.list;list.add(name);propertySupport.firePropertyChange("name",oldName,this.name);//textFieldupdatespropertySupport.firePropertyCha

  2. java - 使JList中的按钮可点击 - 2

    我不敢相信这行不通。我有一个JList。我已将其渲染器设置如下。RankingPanel基本上是一个带有两个标签和一个按钮的JPanel。topAchieverList=newJList();topAchieverList.setCellRenderer(newTopBottomCellRenderer());这是我的TopBottomCellRenderer。classTopBottomCellRendererextendsRankingPanelimplementsListCellRenderer{publicTopBottomCellRenderer(){}publicCompo

  3. java - 在 Jlist 中显示 Objects 的属性 - 2

    我有一个成分类publicclassIngredient{StringNameP;ListListS;StringDesc;ListListT;...此类的多个实例存储在对象列表中。我还有一个javax.swing.JListListIng;模型设置为ListIngModel=newDefaultListModel();思路是利用Jlist显示所有对象的“NameP”字段,选择其中一个进行进一步检查,然后抓取选中的对象:IngredientSelected=ListIngModel.get(ListIng.getSelectedIndex())我可以加载列表模型中的对象,但随后JLis

  4. java - 将 JList 中的文本元素获取到变量? - 2

    尽管进行了大量研究,但我找不到答案或解决如何将JList中的选定文本元素获取到变量的问题。因此,我会提供一些帮助。我试图选择所选元素的索引并使用此代码删除元素并且效果很好,但正如我所写的那样,我希望在按下按钮后将所选文本设置为变量。谢谢!intindex=list.getSelectedIndex();model.removeElementAt(index);我的部分JList代码:model=newDefaultListModel();list=newJList(model);list.setSelectionMode(ListSelectionModel.SINGLE_INTERV

  5. java - JList 复制选择 - 2

    我正在尝试使用Swing,并决定专注于将JList与对象数组列表结合使用。我想创建一个显示空白JList的程序,当按下按钮时,它会显示arraylist的内容,并允许单选,打印出曾经选择的内容。我当前的代码执行上述所有操作,但是当我单击JList上的单个条目时,它会打印两次。我觉得这是一个很容易纠正的简单错误,但我一直在通读它,但我的大脑已经停止合作。任何帮助将不胜感激。提前致谢:)importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing

  6. Java 警告 - JList 是原始类型,引用必须参数化 - 2

    有人可以从Eclipse中阐明以下警告吗:JListisarawtype.ReferencestogenerictypeJListshouldbeparameterized.触发此操作的代码行可能是:importjavax.swing.JList;....privateJListjList=null;//Warningonthisline 最佳答案 你应该把元素的类型放在之间,例如:Listlist=newArrayList();list.add("String1");list.add("SomeText");

  7. java - 如何使用 setSelectedValue 将多个项目设置为在 JList 中选择? - 2

    我有一个通过添加到底层listModel动态填充的jList。现在,如果我有三个字符串,它们的值我知道并且我知道for(i=0;i似乎只有最后一项被选中...如果这不能完成并且我必须从基础模型中设置选择我应该怎么做???另请注意jList具有选择模式:jList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);提前致谢 最佳答案 请注意,所有xxSelectedValue方法都是围绕JList上的selectionModel(仅支持基于索引的选择访问)

  8. Java Swing - JList 自定义单元格渲染 - 捕获 Action - 2

    每当我为JList创建自定义单元格渲染器时,我添加到其中的任何元素都不会响应操作。例如,如果我让单元格渲染器返回一个带有元素的JPanel,其中一个元素有一个ActionListener,它根本不会响应。这是为什么? 最佳答案 渲染器可能看起来像一个为单元格返回组件的工厂,但实际上它遵循享元渲染方法并使用相同组件渲染所有单元格(每次调用getListCellRendererComponent()都应该为特定单元格重新配置相同的组件实例并返回它,以便可以呈现单元格)。这样,您可以让JList(以及JTable和JTree)显示大量的单

  9. java - 如何创建一个包含字符串和对象哈希表条目的 JList? - 2

    我想创建一个包含字符串和对象哈希表条目的JList:HashtableJList元素应包含哈希表条目并显示作为字符串的条目键的值...这可能吗?怎么做到的? 最佳答案 通过扩展AbstractListModel实现ListModel接口(interface)。使用派生模型创建您的JList。另见HowtoUseLists. 关于java-如何创建一个包含字符串和对象哈希表条目的JList?,我们在StackOverflow上找到一个类似的问题: https:/

  10. java - JList.getModel() ClassCastException 异常 - 2

    当我调用JList.getModel()并将其转换为DefaultListModel它给了我这个异常(exception)。Exceptioninthread"AWT-EventQueue-0"java.lang.ClassCastException:javax.swing.JList$4cannotbecasttojavax.swing.DefaultListModel抛出它的代码:privateJListlist=newJList();((DefaultListModel)list.getModel()).addElement(...);虽然不是每次都这样做。大多数时候它工作得很好

随机推荐