JSeparator wont show with GridBagLayout

一世执手 提交于 2019-12-01 04:22:55

You could try to set the preferred width for the separator:

sep.setPreferredSize(new Dimension(5,1));

Then, make GridBagLayout use up all available height for the separator:

gbc.fill = GridBagConstraints.VERTICAL;
gbc.weighty = 1;

Taken from Sun's guide for JSeparator:

In most implementations, a vertical separator has a preferred height of 0, and a horizontal separator has a preferred width of 0. This means a separator is not visible unless you either set its preferred size or put it in under the control of a layout manager such as BorderLayout or BoxLayout that stretches it to fill its available display area.

The vertical separator does have a bit of width (and the horizontal a bit of height), so you should see some space where the separator is. However, the actual dividing line isn't drawn unless the width and height are both non-zero.

Maybe you should set right constraints?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!