当前位置: 首页 > 面试题库 >

JTable滚动到指定的行索引

方波娃
2023-03-14
问题内容

我有一个JTable,该JScrollPane.行中的行根据我的应用程序中发生的事件在运行时添加到表中。当新行添加到表时,我想让scoll窗格滚动到表的底部。

对于JList,有[ensureIndexIsVisible][1]()一个强制列表中的特定索引可见。我正在寻找相同的东西,但JTable。看来我可能不得不在滚动窗格上手动移动滚动视图,但我认为必须有一种更简单的方法。


问题答案:

参见以下示例:http :
//www.exampledepot.com/egs/javax.swing.table/Vis.html

更新:链接现在已过时,这是代码(来自http://smi-protege.stanford.edu/repos/protege/protege-
core/trunk/src/edu/stanford/smi/protege/util/ComponentUtilities。
java

public static void scrollToVisible(JTable table, int rowIndex, int vColIndex) {
        if (!(table.getParent() instanceof JViewport)) {
            return;
        }
        JViewport viewport = (JViewport)table.getParent();

        // This rectangle is relative to the table where the
        // northwest corner of cell (0,0) is always (0,0).
        Rectangle rect = table.getCellRect(rowIndex, vColIndex, true);

        // The location of the viewport relative to the table
        Point pt = viewport.getViewPosition();

        // Translate the cell location so that it is relative
        // to the view, assuming the northwest corner of the
        // view is (0,0)
        rect.setLocation(rect.x-pt.x, rect.y-pt.y);

        table.scrollRectToVisible(rect);

        // Scroll the area into view
        //viewport.scrollRectToVisible(rect);
    }


 类似资料:
  • 问题内容: 我有一个JTable,我需要以编程方式使用此代码选择一行: (其中i和j分别是有效的行号和列号)。 问题是,当您跳到一行时,JScrollPane不会移动。在这种情况下,表格很长,通常“选择的行”在屏幕上不可见,因此用户必须保持手动向上/向下滚动才能找到它。我想知道如何使JScrollPane自动跳转到该行的特定位置。 编辑:找到了一个可以做到这一点的班轮: 问题答案: 只是通过@ E

  • 问题内容: 我有一个在我的控制器中定义的范围变量$ scope.first_unread_id。在我的模板中,我有: 和我的指令看起来像: 它起作用,但是,有两个问题: 有没有比查询范围。$ parent更好的方法来将“ first_unread_id”从控制器范围内移到直接范围内?这似乎有点“棘手”。我希望我可以将它作为唯一的参数传递给直接视图,而不必在任何li元素上重复。 有没有更好的方法来避

  • 问题内容: 有什么方法可以在必要时启用水平滚动条吗? 情况是这样的:我有一个单元格,其中存储了很长的数据。因此,我需要水平滚动条。 有人对此有想法吗? 问题答案: 首先,在里面添加a 并为滚动条的存在设置策略: 然后,通过设置模式,指示JTable不能自动调整列的大小:

  • 本文向大家介绍JS滚动到指定位置导航栏固定顶部,包括了JS滚动到指定位置导航栏固定顶部的使用技巧和注意事项,需要的朋友参考一下 最近整理一下之前做的一个项目,把滚动条动态固定顶部的代码整理出来和大家分享,上代码 以上所述是小编给大家介绍的JS滚动到指定位置导航栏固定顶部,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 我试图理解Swing应用程序中表的具体工作方式。有一个从数据库中检索数据并在JTable上显示数据的表。我浏览了代码,并计算出如何从数据库中读取数据。 我似乎在纠结的一件事是数据如何显示在表上以及如何更新。我知道如何在表中显示数据,但与此表的不同之处在于数据是动态更新的。也就是说,并非从数据库检索的所有数据都显示在表上。 看起来应用程序显示了许多行,当用户滚动鼠标或将滚动条移动到表的底部/末端时,

  • 问题内容: 如何从JTable索引获取行?我查看了成员函数,但没有类似getRowAt的东西。有人可以帮忙吗? 问题答案: 表没有“行”对象,因此使用getRow方法无法获得任何结果。 您可以要求获取各个值,将其用于每一列,然后获得完整的行。