繁体   English   中英

Java Swing:清除JList而不触发侦听器

[英]Java Swing: Clear JList without triggering listener

我的情况如下:每当在列表中进行选择时,我都有一个JList触发搜索(使用ListSelectionListener)。 我正在尝试使用list.clearSelection()重置列表中的选择。 这个问题是使用clearSelection()会触发调用搜索的侦听器:不好。

有没有一种清除列表上的选择而不触发侦听器的方法? 这是否暗示我没有正确使用听众? 通常,您是否可以在不触发与该元素关联的事件的情况下在Swing UI中更改某些内容?

谢谢。

阅读Swing教程中有关如何为列表选择监听器编写工作演示的部分。

通常会生成两个事件,一个用于取消选择,另一个用于选择。 您应该只在选择某些内容时进行搜索。 您还应该能够检查选定的索引,该索引应该是-1以外的其他东西。

使用clear()方法清除Jlist时,请尝试以下模式:

ListObjectName.addListSelectionListener(new ListSelectionListener() {

  public void valueChanged(ListSelectionEvent e) {
    if (!e.getValueIsAdjusting()){
      if(ListObjectName.getSelectedIndex()>-1){
        //Your Code
      }
    }
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM