【问题标题】:Select item in JList using code使用代码选择 JList 中的项目
【发布时间】:2016-11-25 21:56:11
【问题描述】:

我希望能够编写一个手动选择 JList 中的项目的语句,例如:

JList myList = new JList(items);
myList.selectValueAt(index);

【问题讨论】:

    标签: java swing jlist


    【解决方案1】:

    你可以使用

    jList.setSelectedValue(string, rootPaneCheckingEnabled) 
    

    或

    jList.setSelectedIndex(index);
    

    【讨论】:

      【解决方案2】:

      您需要从JList 获取ListSelectionModel。有了它,您可以修改选择:

      ...
      ListSelectionModel sm = myList.getSelectionModel();
      sm.clearSelection();                     // clears the selection
      sm.setSelectionInterval(index, index);   // Sets a selection interval
      ...
      

      虽然ListSelectionModel 允许对JList 的选择行为进行细粒度控制,但JList 本身也提供了方便的方法,如JList.setSelectedIndex() 来简单地修改选定的元素。

      【讨论】:

        【解决方案3】:

        JList 的文档:

        JList 的选择状态由另一个单独的模型(ListSelectionModel 的一个实例)管理。 JList 在构造时使用选择模型进行初始化,并且还包含查询或设置此选择模型的方法。 此外,JList 提供了方便的方法来轻松管理选择。这些方法,例如 setSelectedIndex 和 getSelectedValue,是负责与选择模型交互的细节的覆盖方法。 默认情况下,JList 的选择模型被配置为允许一次选择任何项目组合;选择模式 MULTIPLE_INTERVAL_SELECTION。选择模式可以直接在选择模型上改变,也可以通过JList的cover方法改变。更新选择模型以响应用户手势的责任在于列表的 ListUI。

        在你的情况下:

        myList.setSelectionIndex(index);
        

        【讨论】:

          猜你喜欢
          • 2016-01-01
          • 2011-09-08
          • 1970-01-01
          • 2012-02-29
          • 1970-01-01
          • 2011-02-01
          • 2013-11-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多