其他无线电组不显示在帧上

时间:2016-01-27 02:03:18

标签: java swing

直接添加到框架时,ButtonGroup无法正常工作,这就是为什么我直接在框架上添加了无线电按钮的原因。但是我只看到radiobutton。我在这做错了吗?有人可以帮我这个。

  protected ButtonGroup radioGroup = new ButtonGroup();  
protected JRadioButton small = new JRadioButton("small");
protected JRadioButton medium = new JRadioButton("medium");
protected JRadioButton large = new JRadioButton("large");

public PlayingWithShapes()
{

    shapes.add(circle);
    shapes.add(square); 
    shapes.add(rectangle);
    shapes.add(triangle);

    colors.add(red);
    colors.add(blue);
    colors.add(magenta);

    radioGroup.add(small);
    radioGroup.add(medium);
    radioGroup.add(large);

    menuBar.add(shapes);
    menuBar.add(colors);

    JFrame frame = new JFrame("Playing With Shapes");
    frame.setLayout(new GridLayout(1,2));
    frame.setJMenuBar(menuBar);
    frame.add(this);
    frame.add(small);
    frame.add(medium);
    frame.add(large);
    frame.setSize(600,400);

1 个答案:

答案 0 :(得分:2)

frame.add(small);
frame.add(medium);
frame.add(large);

框架的默认布局是BorderLayout。您只能将单个组件添加到BorderLayout的CENTER。

您需要:

  1. 更改框架的布局管理器
  2. 将按钮添加到面板,然后将面板添加到框架中。
  3. 查看How to Use Buttons上Swing教程中有关单选按钮的工作示例的部分。

    本教程还有一个关于Layout Managers的部分,您应该阅读。