【问题标题】:Java scrollRectToVisible weird scrollingJava scrollRectToVisible 奇怪的滚动
【发布时间】:2015-08-30 12:17:04
【问题描述】:

我用 Java 制作了一个自定义表格组件,我很好奇为什么 scrollRectToVisible 总是滚动到输入 rectangle 的右下角。

有没有办法告诉父组件尝试查看整个矩形? 因为当您想自动滚动到表格行并且它总是只查看所需表格行的底部时,这并不好笑。

*编辑

private JPanel box = new JPanel();
private JScrollPane scroll = new JScrollPane(box, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
public void scrollTo(int index){
    if(datas.size() != 0){
        JPanel panel;
        if(index < 0){
            index = 0;
        }else if(index >= datas.size()){
            index = datas.size() - 1;
        }
        panel = datas.get(index);
        Rectangle rectangle = panel.getBounds();
        if(index != 0){
            rectangle.setLocation(0, rectangle.y + 1);
        }
        box.scrollRectToVisible(rectangle);
    }
}

【问题讨论】:

  • 请显示您编写的代码,它有帮助。
  • @CaptJak 不确定我的程序中的问题到底出在哪里,所以我无法向您展示正确的问题。我的组件也有超过 400 行代码。但是,如果您想查看滚动它的方法是什么,请检查我编辑的问题。

标签: java scrollbar rect scrollrect


【解决方案1】:

*解决方案
哦,好吧,没关系,我发现了问题。它正在滚动到右下角,因为在构造函数期间由于某种原因 getVisibleRect 告诉所有数据为零,但是在构造了整个 Frame 之后,它开始滚动到正常位置:(

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多