java jlist_JList列表框

JList和JCombobox组件从本质上说是类似的,它们都是提供了一系列列表数据供用户选择,从表现形式上可以把JCombobox看做一个JList和一个JTextField组成,通过callback机制回调选择项目.JList并没有复杂的UI,当然也就没有复杂的画面了,所以对于提高JList的画面表现,一般继承ListCellRenderer加入自己的表现样式就可以了,当然依照Swing的MVC原则,需要修改数据时,实现ListModel接口就可以了,对选择样式修改,实现ListSelectionModel接口就可以了,它们的实现都相对简单,功能也相对简单,一般都不需要实现,对于复杂画面样式也不推荐JList,单列的JTable和自己实现的JTree比它好很多.

JList的基本使用很简单,先看Sun官方的使用例子:

界面如下:

25bef01d1a76cbb17fb8448b947f0d89.png

只需要新创建一个DefaultListModel,赋予需要显示的值就可以了.

DefaultListModel listModel =newDefaultListModel();

listModel.addElement("Debbie Scott");

listModel.addElement("Scott Hommel");

listModel.addElement("Sharon Zakhour");

然后创建JList:

JListlist=newJList(listModel);

list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

当然可以给它加监听:

list.addListSelectionListener(this);

也可以加鼠标的Click监听,这是所有JComponent都具有的能力.

然后实现监听就可以了:

// This method is required by

ListSelectionListener.

publicvoidvalueChanged(ListSelectionEvent e) {

if(e.getValueIsAdjusting() ==false) {

最后把创建JList放入画面上,就完成了.

Sun官方还给了一个使用JList的例子,在同一行显示多个项目:

界面如下:

bb72c96d67880bb54430774893a4cd95.png

创建JList的过程和前一个例子相同,只是需要继承JList把它的getScrollableUnitIncrement方法重写,变成我们自己的表现样式:

/**

* Returns the distance to scroll to expose

the next or previous

* row (for vertical scrolling) or column

(for horizontal scrolling)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值