使用JSeperator时不寻常的差距 – Java
发布时间:2020-12-14 05:45:53 所属栏目:Java 来源:网络整理
导读:我一直在研究Swing GUI并在添加JSeperator后得到一些不寻常和不必要的空白,不知道如何删除它们?或任何其他选项如何很好地实现这一目标! 视觉描述 在JLabel“速度”和JSlider之后,差距显而易见. 相关代码 control.setLayout(new BoxLayout(control,BoxLayou
我一直在研究Swing GUI并在添加JSeperator后得到一些不寻常和不必要的空白,不知道如何删除它们?或任何其他选项如何很好地实现这一目标!
视觉描述 在JLabel“速度”和JSlider之后,差距显而易见. 相关代码 control.setLayout(new BoxLayout(control,BoxLayout.X_AXIS)); ...another code omitted... control.add(orientation); //JLabel control.add(norm); //JRadioButton control.add(back); //JRadioButton control.add(new JSeparator(SwingConstants.VERTICAL)); control.add(speedLabel); //JLabel control.add(speed); //JSlider control.add(new JSeparator(SwingConstants.VERTICAL)); control.add(turnOutLabel); //JLabel control.add(right); //JRadioButton control.add(straight); //JRadioButton control.add(left); //JRadioButton 我想要的是让所有东西都集中在JSeperator中, 视觉描述 谢谢. 解决方法
只需用以下行替换新的JSeparator(…)(如果需要,可以将它们放在方法中):
JSeparator separator = new JSeparator(JSeparator.VERTICAL); Dimension size = new Dimension( separator.getPreferredSize().width,separator.getMaximumSize().height); separator.setMaximumSize(size); 正如@kleopatra解释的那样,JSeparator具有无限制的最大尺寸(在两个方向上),因此这里的技巧是将最大宽度限制为首选宽度,但仍保持最大高度不变(因为首选高度为0). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |