首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JScrollPane JScrollBar住宿

JScrollPane JScrollBar住宿
EN

Stack Overflow用户
提问于 2013-09-21 22:04:56
回答 1查看 73关注 0票数 1

我在JScrollPane中有一个对象。随着物体高度的增加和减小,JScrollBars出现并消失。

有什么方法可以检测这件事发生的时间吗?

当整个JScrollPane出现时,我想扩大它们的范围,这样对象的最右边部分就不会被JScrollBars阻塞,反之亦然。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-21 23:16:35

您可以轻松地侦听组件大小的更改,如下所示:

代码语言:javascript
复制
    JPanel object = new JPanel ();
    object.addComponentListener ( new ComponentAdapter ()
    {
        public void componentResized ( ComponentEvent e )
        {
            // Your object size changed
        }
    } );

    JScrollPane scrollPane = new JScrollPane ( object );

但这可能解决不了你的具体目标。

如果您不希望滚动窗格的垂直滚动条阻碍您的对象,您可以使用一个小技巧来欺骗两者-滚动窗格和您的对象。请检查此示例:

代码语言:javascript
复制
public class Example
{
    public static void main ( String[] args )
    {
        final MyObject object = new MyObject ();

        final JScrollPane scrollPane = new JScrollPane ( object )
        {
            public Dimension getPreferredSize ()
            {
                final Dimension ps = super.getPreferredSize ();
                final JScrollBar vsb = getVerticalScrollBar ();
                final Insets i = getInsets ();
                ps.width = object.getPreferredWidth () + ( vsb.isShowing () ? vsb.getPreferredSize ().width : 0 ) + i.left + i.right;
                return ps;
            }
        };
    }

    public static class MyObject extends JPanel
    {
        public Dimension getPreferredSize ()
        {
            final Dimension ps = super.getPreferredSize ();
            ps.width = 0;
            return ps;
        }

        public int getPreferredWidth ()
        {
            return super.getPreferredSize ().width;
        }
    }
}

这会迫使..。

  1. ...component以返回零首选宽度,因此滚动窗格将始终将其缩小到其当前的内部视图可用宽度。
  2. ...scroll窗格返回修改后的首选宽度,根据其实际内容首选宽度,这样它仍然可以得到正确显示对象所需的位置。

可以根据具体情况修改此示例。例如,对于放置滚动窗格的不同容器布局,情况可能有所不同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18938147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档