[英]java swing aligning radiobuttons
我想将单选按钮居中放置在面板中,但是当我将其居中放置时,它会根据按钮文本的长度居中放置,因此,是的,它们居中放置但彼此不对齐并且看上去非常难看。 如何修复我的代码?
radioButtonMenuPanel = new JPanel();
radioButtonMenuPanel.setLayout(new BoxLayout(radioButtonMenuPanel,
BoxLayout.PAGE_AXIS));
ButtonGroup group = new ButtonGroup();
for (String item : answerItems) {
JRadioButton radioButton = new JRadioButton(item);
radioButton.setAlignmentX(Component.Center_ALIGNMENT);
radioButtonMenuPanel.add(radioButton);
group.add(radioButton);
}
您可以始终使用GridBagLayout 。 通过使用该布局,您可以将组件锚定在单元格任何一侧的网格中。
radioButtonMenuPanel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = GridBagConstraints.RELATIVE;
gbc.anchor = GridBagConstraints.WEST;
ButtonGroup group = new ButtonGroup();
for (String item : answerItems) {
JRadioButton radioButton = new JRadioButton(item);
group.add(radioButton);
radioButtonMenuPanel.add(radioButton, gbc);
}
这样的事情应该起作用。 默认情况下, GridBagLayout
将组件在屏幕上的小网格中居中。 在这种情况下,我们只是将组件固定在单元格中的西部,该组件将被放置在第一列(gridx = 0)中,并且对于每个单选按钮,它将定位在最后一个组件的旁边。
希望能有所帮助!
左对齐按钮到一个单独的面板,然后将该面板居中放置到另一个面板上,该如何做?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.