在JPanel中滚动可见内容

时间:2018-01-16 12:18:39

标签: java swing jpanel

如何移动JPanel的可见部分?我的意思是我有一组可以动态创建和关闭的标签(类似于浏览器标签),并且在某些时候可能有太多的标签可见,所以我想添加按钮以向左移动视图并且对。我考虑过使用JScrollPane添加setHorizontalScrollBarPolicy=HORIZONTAL_SCROLLBAR_AS_NEEDED,但结果非常难看...滚动。如何创建按钮来操作面板的可见部分?

负责选项卡的代码几乎是这样的:

private JPanel tabsPane;

private JComponent createItemsPane() {
        tabsPane = new JPanel();
        tabsPane.setOpaque(false);
        tabsPane.setLayout(new BoxLayout(tabsPane, BoxLayout.X_AXIS));
        return tabsPane;
    }

public void addTab(TabCaption item) {
        tabsPane.add(item);
    }

或者,我想将更改移动到可见部分,以便始终显示所选标签...

1 个答案:

答案 0 :(得分:1)

如果您不想显示滚动条,则可以相应地vsbhsbPolicy。然后,添加一组按钮来操作JViewPort的{​​{1}}:

JScrollPane

框架以足够大的尺寸开始,但如果缩小窗口,则可以使用按钮滚动。您可能还希望根据当前视口禁用或隐藏按钮。

enter image description here