JScrollPane 滚动处理
【摘要】
JScrollPane 获取与设置位置正确: jScrollPane.getViewport().getViewPosition()
别的都不对,
JScrollPane 监听
JScrollBar bar = srrollPane.getVerticalScrollBar();// 返回控制视口垂直视图位置的垂直滚动条
...
JScrollPane 获取与设置位置正确:
jScrollPane.getViewport().getViewPosition()
别的都不对,
JScrollPane 监听
JScrollBar bar = srrollPane.getVerticalScrollBar();// 返回控制视口垂直视图位置的垂直滚动条 bar.getPreferredSize(); bar.addAdjustmentListener(new AdjustmentListener() { @Override public void adjustmentValueChanged(AdjustmentEvent e) { // srrollPane= (JScrollPane) evt.getSource(); Point p = srrollPane.getViewport().getViewPosition(); System.out.println("position2:"+p.getY()); } });// 监听滚动条模型发生更改
srrollPane.getViewport().getHeight()
当var设置为Never时,
jScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
屏幕可见高度:
vbar.getVisibleAmount()
可以滚动高度为:totalHeight,滚动条子控件的总高度-屏幕可见高度,就是可以滚动总高度
下面是滚动设置方法:
JScrollBar vbar = jScrollPane.getVerticalScrollBar();// 返回控制视口垂直视图位置的垂直滚动条 String aa = jScrollPane.getHeight() + " " + vbar.getVisibleAmount() + " " + jScrollPane.getVisibleRect().getHeight() + " "; double totalHeight = backgroundPanel.getPreferredSize().getHeight() - vbar.getVisibleAmount();//-vbar.getHeight()-jScrollPane.getVerticalScrollBarPolicy()*0.5; ylocation = ylocation * totalHeight; if (ylocation < totalHeight) { Point target = jScrollPane.getViewport().getLocation(); target.setLocation(target.getX(), ylocation); jScrollPane.getViewport().setViewPosition(target); }
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/72975544
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)