【问题标题】:How to add gap between two buttons in JToolBar?如何在 JToolBar 中的两个按钮之间添加间隙?
【发布时间】:2014-04-09 16:00:46
【问题描述】:

我需要添加一个简单的间隙/空格/边距,以便在这两个按钮之间留出空间。不幸的是我不能让它工作。谁能给我一些建议?

它基于BorderLayout,按钮在JToolBar

【问题讨论】:

    标签: java swing layout border-layout jtoolbar


    【解决方案1】:

    JPanel 上包含这些按钮的布局是什么?您可以使用 BoxLayout 并将 Box.createHorizontalStrut() 添加到其中。

    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS));
    buttonPanel.add(playButton);
    buttonPanel.add(previousButton);
    buttonPanel.add(Box.createHorizontalStrut(25));
    buttonPanel.add(stopButton);
    buttonPanel.add(Box.createHorizontalGlue());
    

    【讨论】:

    • 布局必须是BorderLayout
    • 为什么?您确定主内容窗格的布局不是带有 BorderLayout 的吗?
    • 不,不,对主内容窗格使用 BorderLayout,对添加到 BorderLayout 的每个组件使用 BoxLayout。在 BorderLayout 中使用 BorderLayout 很奇怪。
    • 抱歉,在 JPanel 上是 BorderLayout 但这些按钮在 JToolBar 内
    • 我的建议对于 JToolBar 是一样的。试一试,问一个更具体的问题。
    【解决方案2】:

    JToolBar.addSeparator(),其中:

    将默认大小的分隔符附加到工具栏的末尾。默认大小由当前外观决定。

    JToolBar.addSeparator(Dimension) 哪个:

    将指定大小的分隔符附加到工具栏的末尾。

    【讨论】: