小编rci*_*one的帖子

更改未使用ListModel的JComboBox模型.它有隐藏的连接吗?

我在不同的地方使用JList和JComboBox.两者的内容动态变化.

一旦创建了一个comboBox,你就不能说comboBox.setModel(String []),你必须创建一个新模型然后将它设置为comboBox.

JList也是如此.

我只是为了添加一个名为.setNewModel(String [])的新方法而不是创建我自己的Jlist和ComboBox,而是在我的"实用程序"类中创建了一个静态方法,它接收一个String []并返回一个ListModel.

所以我可以这样做:

someComboBox.setModel((ComboBoxModel)UtilityClass.convetToListModel(aStringArray));
Run Code Online (Sandbox Code Playgroud)

我对JList使用相同的.

someList.setModel(UtilityClass.convetToListModel(anotherStringArray));
Run Code Online (Sandbox Code Playgroud)

我的问题是:

将listModel转换为ComboBoxModel会产生一些意想不到的后果吗?如果是这样,无论如何都要改变组合框的整个内容而不必将ArrayString转换为模型?

这是方法的代码:

public static ListModel convertToListModel(String[] nList)
{
    return (new JComboBox(nList).getModel());
}
Run Code Online (Sandbox Code Playgroud)

该程序编译并运行良好,但铸造总是在我,特别是复杂的对象产生怀疑.是的,我知道我可以扩展JComboBox和JList来添加一个方法来完成这项工作,但它还有很多额外的工作.为什么ComboBox和Jlist没有更新或修改模型而不接受简单的字符串数组?

java swing jlist jcombobox

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

jcombobox ×1

jlist ×1

swing ×1