我试图在窗口的角落放置一个组件。但是,我的窗口有一个滚动条,并且滚动条位于组件的顶部。
所以我试图改变组件的位置,使其与滚动条相邻,而不是让它在它下面。
因此,我需要滚动条的标准宽度(垂直)和滚动条的标准高度(水平)。
我可以在运行时尝试 getVerticalScrollBar.getWidth(),但不幸的是,我需要在自己创建滚动条之前放置坐标。
此外,创建一个空的 JScrollBar 并调用 getWidth() 将返回 0。
谢谢你的帮助。
我试图在窗口的角落放置一个组件。但是,我的窗口有一个滚动条,并且滚动条位于组件的顶部。
所以我试图改变组件的位置,使其与滚动条相邻,而不是让它在它下面。
因此,我需要滚动条的标准宽度(垂直)和滚动条的标准高度(水平)。
我可以在运行时尝试 getVerticalScrollBar.getWidth(),但不幸的是,我需要在自己创建滚动条之前放置坐标。
此外,创建一个空的 JScrollBar 并调用 getWidth() 将返回 0。
谢谢你的帮助。
不确定一年前它现在是否对您有帮助,但是:
int scrollBarSize = ((Integer)UIManager.get("ScrollBar.width")).intValue();
我在这个讨论中找到了它:http: //www.coderanch.com/t/341287/GUI/java/Calculating-width-JList-vertical-scrollbar
不要获取大小或设置大小,而是让布局管理器为您完成工作。考虑
setVerticalScrollBarPolicy(...)
andsetHorizontalScrollBarPolicy(...)
方法对将滚动条添加到 JScrollPane 中,以便布局管理器从一开始就将滚动条考虑在内。我不确定其他操作系统,但在 windows XP 上它是 17 像素。
我要做的是在你的程序中暂时包含这一行:
System.out.println(jScrollPane.getVerticalScrollBar().getWidth())
然后使用打印的值。