查找标准JScrollBar宽度或高度

时间:2013-10-08 19:31:51

标签: java swing jscrollbar preferredsize

我正在尝试将一个组件放在窗口的一角。但是,我的窗口有一个滚动条,滚动条放在组件的顶部。

所以我试图改变组件的位置,使其与滚动条相邻,而不是在它下面。

因此,我需要滚动条的标准宽度(垂直)和滚动条的标准高度(水平)。

我可以在运行时尝试getVerticalScrollBar.getWidth(),但不幸的是我需要在创建滚动条之前放置坐标。

此外,创建一个空的JScrollBar并调用getWidth()返回0。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

不要获取大小或设置大小,而是让布局管理员为您完成工作。考虑

  • 默认情况下,通过setVerticalScrollBarPolicy(...)setHorizontalScrollBarPolicy(...)方法对将滚动条添加到JScrollPane,以便布局管理器在从get get开始放置所有内容时考虑滚动条。
  • 不惜一切代价避免使用null布局,因为这将取消创建灵活可用的Swing GUI的最强大工具之一。
  • 如果这些建议无效,请考虑创建并发布sscce

答案 1 :(得分:2)

一年前不确定它是否对你有帮助,但是:

int scrollBarSize = ((Integer)UIManager.get("ScrollBar.width")).intValue(); 我在这里发现了这一点:http://www.coderanch.com/t/341287/GUI/java/Calculating-width-JList-vertical-scrollbar

答案 2 :(得分:0)

我不确定其他操作系统,但在Windows XP上它是17像素 我要做的是在你的程序中暂时包含这一行:

System.out.println(jScrollPane.getVerticalScrollBar().getWidth())

然后使用打印的值。