3

我试图在窗口的角落放置一个组件。但是,我的窗口有一个滚动条,并且滚动条位于组件的顶部。

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

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

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

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

谢谢你的帮助。

4

3 回答 3

6

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

int scrollBarSize = ((Integer)UIManager.get("ScrollBar.width")).intValue(); 我在这个讨论中找到了它:http: //www.coderanch.com/t/341287/GUI/java/Calculating-width-JList-vertical-scrollbar

于 2015-08-23T19:19:24.213 回答
2

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

  • 默认情况下,通过setVerticalScrollBarPolicy(...)andsetHorizontalScrollBarPolicy(...)方法对将滚动条添加到 JScrollPane 中,以便布局管理器从一开始就将滚动条考虑在内。
  • 不惜一切代价避免空布局,因为这将带走创建灵活可行的 Swing GUI 的最强大工具之一。
  • 如果这些建议没有帮助,请考虑创建并发布sscce
于 2013-10-08T19:43:55.640 回答
0

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

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

然后使用打印的值。

于 2013-10-08T19:43:43.113 回答