【问题标题】:Java JList scroll to selected itemJava JList 滚动到所选项目
【发布时间】:2010-12-05 08:21:43
【问题描述】:

我有一个JList,里面有很多项目,其中一个被选中。我想滚动到这个JList中的选中项,这样用户就可以快速看到选中了哪个项。

我该怎么做?

String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */};
JList dataList = new JList(data);
JScrollPane scrollPane = new JScrollPane(dataList);

【问题讨论】:

  • 为了确保它始终可见,您可以覆盖 setSelectedIndex 方法并从那里调用 Sbodd 的方法。

标签: java swing scroll jlist


【解决方案1】:

应该这样做:

dataList.ensureIndexIsVisible(dataList.getSelectedIndex());

【讨论】:

    【解决方案2】:

    或者,如果启用了多选:

    dataList.scrollRectToVisible(
            dataList.getCellBounds(
                dataList.getMinSelectionIndex(), 
                dataList.getMaxSelectionIndex()
            )
    );
    

    【讨论】:

    • 它的 dataList.getMinSelectionIndex() 但是,答案对我仍然有用:)
    【解决方案3】:

    你可以使用ensureIndexIsVisible方法

    http://java.sun.com/javase/6/docs/api/javax/swing/JList.html#ensureIndexIsVisible(int)

    在封闭的范围内滚动列表 视口制作指定的单元格 完全可见。这叫 scrollRectToVisible 的边界为 指定的单元格。对于这种方法 工作,JList 必须在一个 JViewport。

    【讨论】:

      猜你喜欢
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 1970-01-01
      • 2012-03-13
      • 2013-10-26
      • 2017-05-21
      相关资源
      最近更新 更多