繁体   English   中英

Java Swing对齐单选按钮

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM