rci*_*one 2 java swing jlist 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没有更新或修改模型而不接受简单的字符串数组?
怎么
someComboBox.setModel((ComboBoxModel)UtilityClass.convetToListModel(aStringArray));
Run Code Online (Sandbox Code Playgroud)
以任何方式更容易写/更简单/无论如何
someComboBox.setModel(new DefaultComboBoxModel(aStringArray))
Run Code Online (Sandbox Code Playgroud)
你添加的所有内容都是Utility方法形式的白噪声.加
不要做那些浪费/不必要的事情,甚至不要在有简单直接的方式达到同一目标的时候走弯路
归档时间: |
|
查看次数: |
15322 次 |
最近记录: |