【问题标题】:How to populate a selection list with a member from each object in an array list of objects?如何使用对象数组列表中每个对象的成员填充选择列表?
【发布时间】:2017-04-21 22:50:46
【问题描述】:

我有一个类(像结构一样构建)用于通过文件加载的颜色:

public class ColorData
{
    public String name;
    public int r;
    public int g;
    public int b;
}

我正在使用 JList,我会用 ColorData 的“名称”填充它。我找到了如何用arrays or vectors 填充它。我还找到了一个解决方案,可以将 arraylist 转换为数组。我不确定这将如何与我的 ColorData 对象的数组列表一起使用。我需要使用它,以便程序在选择颜色名称时使用数字(r、b 和 g)。

【问题讨论】:

  • 1) 为ColorData 提供一个toString() 方法,该方法返回name 或.. 2) 为ColorData 对象列表使用一个渲染器,以渲染name。跨度>

标签: java swing arraylist awt jlist


【解决方案1】:

我是这样做的:

public class ColorData
{
    public String name;
    public int r;
    public int g;
    public int b;
}

上面是我使用的 ColorData 类。然后我创建了一个名为 populate_saved_list 的函数。这是一个创建字符串 ArrayList 的函数。然后我浏览了 ColorData 的每个原始 ArrayList 并将名称添加到 Strings 的 ArrayLists 中。然后我使用了 JList 的内置函数 setListData( E[] listData ) 和 ArrayList 的内置函数 toArray()。

private void populate_saved_list (ArrayList<ColorData> allColors, JList colorList)
{
    ArrayList<String> colorNames = new ArrayList<String>();

    for (int i = 0; i < allColors.size(); i++ )
    {
        colorNames.add(allColors.get(i).name);
    }

    colorList.setListData(colorNames.toArray());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2023-03-18
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多