如何在面板上绘制分隔符(GridBagLayout)

时间:2016-04-27 05:19:54

标签: java swing layout-manager gridbaglayout jseparator

我正在尝试在GridBagLayout中的Panel中添加Separator。但它没有出现。

我尝试过像

这样的选项
panel.add(new JSeparator());

panel.add(new JSeparator(SwingConstants.HORIZONTAL));

它们都没有提供可见的分隔符。

1 个答案:

答案 0 :(得分:3)

阅读How to Use Separators上的Swing教程中的部分,您将在其中找到声明:

  

分隔符几乎没有API,只要记住一件事就非常容易使用:在大多数实现中,垂直分隔符的首选高度为0,水平分隔符的首选宽度为0。表示分隔符不可见,除非您设置其首选大小或将其置于布局管理器(如BorderLayout或BoxLayout)的控制之下,该布局管理器将其拉伸以填充其可用的显示区域。

因此,如果将其与GridBagLayout一起使用,则需要指定适当的约束,以便分隔符填充给定行的所有列。阅读How to Use GridBagLayout上Swing教程中的部分,了解有关约束和工作示例的更多信息。本教程演示了如何使按钮填充3列,因此请尝试使用分隔符替换按钮。