关于JComboBox提供的构造方法的不同作用和意义

a59886625 2012-09-23 07:06:14
初学者,有些地方不太懂。
第一个构造方法 JComboBox(ComboBoxModel aModel)参数是这个模型
自己写一个类继承AbstractListModel类和ComboBoxModel接口,在这个类中实现要求的方法,如getSelectedItem()等
第二个构造方法提供一个数组参数
写了两个程序分别使用两个构造方法创建下拉列表,结果都可以使用getSelectedItem()(在管理器里打印出选择项)
那么我花那么大的力气继承类实现各种方法,和我直接给个数组参数使用方法的效果都一样。
请问第一个构造方法有什么意义呢。
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
raistlic 2012-09-24
  • 打赏
  • 举报
回复
比如你有三个 JComboBox,
第一个选择哪一年,
第二个选择几月,
第三个选择几号

第三个JComboBox的可选项取决于前两个,
假如你用了数组,那每次前两个有变动的时候,你怎么做呢?删除全部,然后重新添加……

而假如你在它背后用了一个自己定义的model,那就简单了,直接作相应的改动,然后在model里fire event告诉JComboBox更新。

这有时不仅是一点效率的问题,而是你有没有用更正确的方式,是不是更灵活,更易于维护和扩展。
清墨无痕 2012-09-23
  • 打赏
  • 举报
回复
ComboBoxModel aModel)参数是这个模型 是为了便于以后动态更新
而数组你也知道数组的长度是你在定义的时候写死了,以后不利于更新,
最好是用模型来写

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧