【问题标题】:How do I set the location of Radio Buttons?如何设置单选按钮的位置?
【发布时间】:2013-02-27 14:37:02
【问题描述】:

我想为“性别”标签创建两个单选按钮。这是我得到的:

maleRB = new JRadioButton("Male", true);
femaleRB = new JRadioButton("Female", false);

radioGroup = new ButtonGroup();
radioGroup.add(maleRB);
radioGroup.add(femaleRB);

但我不知道如何设置它们的位置。您设置的位置是否与设置 JLabel/JTextField 等位置的方式相同...?这是照片。我想将单选按钮放在标签“性别”旁边。

【问题讨论】:

  • 取决于您使用的布局管理器
  • 您可以在 Panel 中添加单选组并为其设置布局
  • 您设置的位置是否与设置 JLabel/JTextField 等位置的方式相同... 是的,您使用 LayoutManager 来执行此操作。永远不要称自己为setLocation/setSize/setBounds/setPreferredSize

标签: java swing layout-manager jradiobutton flowlayout


【解决方案1】:

这通常取决于您使用的布局,但添加单选按钮组的一种方法是通过JPanel,正如我在前面的评论中提到的那样。

JRadioButton maleRB   = new JRadioButton("Male"  , true);
JRadioButton femaleRB    = new JRadioButton("Female"   , false);

ButtonGroup bgroup = new ButtonGroup();
bgroup.add(maleRB);
bgroup.add(femaleRB);

JPanel radioPanel = new JPanel();
radioPanel.setLayout(new GridLayout(r, c)); // here r could be 1 and c could be 2 
radioPanel.add(maleRB);
radioPanel.add(femaleRB);

【讨论】:

  • 我有问题。我试过这个,但它没有出现在框架中。怎么了?
【解决方案2】:

只需将它们添加到 JPanel,就像您添加其他任何内容一样。

ButtonGroup 只是将它们的事件连接在一起,以便一次只能选择一个。它本身并不是一个图形化的 Swing 组件。

【讨论】:

    【解决方案3】:
    YourButton.setBounds(X, Y, Z, MAX_ENTRIES);
    

    例子:

    Duck.setBounds(75, 100, 75, MAX_ENTRIES);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 2019-09-09
      • 2014-07-01
      • 1970-01-01
      相关资源
      最近更新 更多