JScrollPane 改变垂直滚动条的来源
JScrollPane change the source of the vertical scrollbar
我有一个 JFrame,它允许用户滚动浏览并查看数据库中的记录,如下所示:
标签从不移动,信息在标签下方滚动。我的问题是我的用户希望滚动条看起来像最右边的滚动条(在它自己的 JPanel 内并添加到 JFrame 中)而不是附加到 JScrollPane 的滚动条。有谁知道让我的 ScrollPane 使用单独的滚动条滚动的方法吗?
好的,我想出了如何实现我想要的。与其重新发明轮子,不如让 JScrollBar 与 JScrollPane 一起工作。相反,我从我的 JScrollPane 中提取了垂直滚动条,弄乱了它,然后像这样将它卡在我的 JPanel 中:
//Where dataPanel is a JPanel I want to be able to scroll
JScrollPane roller = new JScrollPane (dataPanel,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
JPanel scrollerPanel = new JPanel();
JScrollBar scrollBar = roller.getVerticalScrollBar();
scrollBar.setPreferredSize(new Dimension (20, 100));
scrollPanel.add(scrollBar);
我有一个 JFrame,它允许用户滚动浏览并查看数据库中的记录,如下所示:
标签从不移动,信息在标签下方滚动。我的问题是我的用户希望滚动条看起来像最右边的滚动条(在它自己的 JPanel 内并添加到 JFrame 中)而不是附加到 JScrollPane 的滚动条。有谁知道让我的 ScrollPane 使用单独的滚动条滚动的方法吗?
好的,我想出了如何实现我想要的。与其重新发明轮子,不如让 JScrollBar 与 JScrollPane 一起工作。相反,我从我的 JScrollPane 中提取了垂直滚动条,弄乱了它,然后像这样将它卡在我的 JPanel 中:
//Where dataPanel is a JPanel I want to be able to scroll
JScrollPane roller = new JScrollPane (dataPanel,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
JPanel scrollerPanel = new JPanel();
JScrollBar scrollBar = roller.getVerticalScrollBar();
scrollBar.setPreferredSize(new Dimension (20, 100));
scrollPanel.add(scrollBar);