我正在尝试使用单选按钮创建一个简单的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);
答案 0 :(得分:2)
设置框架的布局。例如:
contentPane.setLayout(new BorderLayout());
contentPane.add(paymentPanel, BorderLayout.LINE_START);
有关布局管理器的更多信息,请访问:A Visual Guide to Layout Managers
答案 1 :(得分:1)
您应该阅读Layout Managers,它会为您执行此操作。我建议使用GUI Builder Tool,但这可能不允许用于你的作业。
答案 2 :(得分:0)
您可以将布局设置为contentPane的null布局。
contentPane.setLayout(null);
然后您的setBounds()
将完全按照您的设计工作。
注意:强>
如果调整包含容器的窗口大小,则使用绝对定位的容器创建容器会导致问题。