我创建了一个用我自己的 AbstractListModel 子类构建的 JList,模型存储 Action 类的实例,我将 getElementAt() 定义为
public final Object getElementAt(final int index)
{
return ((Action) actionList.get(index)).getValue(Action.NAME);
}
我的 JList 显示一个动作名称列表,这没关系。
但是这些动作也定义了一个图标,所以如果我这样做
public final Object getElementAt(final int index)
{
return ((Action) actionList.get(index)).getValue(Action.SMALL_ICON)
);
}
它现在改为显示图标。
但我都想要,所以我尝试了
public final Object getElementAt(final int index)
{
return new JButton(
(String)((Action) actionList.get(index)).getValue(Action.NAME),
(Icon)((Action) actionList.get(index)).getValue(Action.SMALL_ICON)
);
}
现在它只输出按钮的属性而不是怎么来