0

我正在尝试使用单选按钮制作一个简单的 GUI,并将它们分组到一个面板中。我希望它位于最左侧,所以我使用了 setBounds 方法。无论我在参数上输入什么数字,面板都不会移动。面板不受 setBounds 方法的影响吗?或者有另一种方法来定位我的面板。这是我的代码片段:

    JPanel radioPanel = new JPanel();
    radioPanel.setLayout(new GridLayout(3,1));
    JRadioButton Rbutton1 = new JRadioButton("Credit Card");
    JRadioButton Rbutton2 = new JRadioButton("E-Funds");
    JRadioButton Rbutton3 = new JRadioButton("Check");
    Rbutton3.setSelected(true);
    ButtonGroup Bgroup = new ButtonGroup();
    Bgroup.add(Rbutton1);
    Bgroup.add(Rbutton2);
    Bgroup.add(Rbutton3);
    radioPanel.add(Rbutton1);
    radioPanel.add(Rbutton2);
    radioPanel.add(Rbutton3);
    radioPanel.setBounds(10,50,50,40); //this is where I'm trying to position the panel with the radio buttons
    paymentPanel.add(radioPanel);
    contentPane.add(paymentPanel); //contentPane is the frame
    contentPane.setVisible(true);
4

3 回答 3

2

设置框架的布局。例如:

    contentPane.setLayout(new BorderLayout());
    contentPane.add(paymentPanel, BorderLayout.LINE_START);

有关布局管理器的更多信息,您可以在此处找到:布局管理器的视觉指南

于 2012-09-04T09:37:39.200 回答
1

您应该阅读将为您执行此操作的布局管理器。我会建议使用GUI Builder Tool,但你的家庭作业可能不允许这样做。

于 2012-09-04T09:35:58.947 回答
0

您可以将布局设置为 contentPane 的空布局。

contentPane.setLayout(null);

然后,您setBounds()将完全按照您的设计工作。

笔记:

如果调整包含容器的窗口大小,创建具有绝对定位容器的容器可能会导致问题。

于 2012-09-04T09:45:50.353 回答