我有两个小组:
main_panel
child_panel
main_panel
布局使用:
main_panel.setLayout(flowlayout)
然后我将child_panel
添加到main_panel
:
main_panel.add(child_panel)
child_panel
被添加到main_panel
,但其位置位于屏幕的水平中点和顶部垂直部分的横截面处。我希望child_panel
位于左上角,如果我已将child_panel.setlocation(a,b)
的布局设置为main_panel
,我可以使用null
方法完成此操作。
我在这里使用了FlowLayout
,因为我希望保留JPanel
中的组件
调整大小为JFrame
。
即使我将child_panel
的{{1}}设置为main_panel
,我也可以在Layout
的{{1}}处添加main_panel
吗? / p>
答案 0 :(得分:1)
这个怎么样?
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Test {
public static void main(String[] args) {
JFrame f = new JFrame("Test");
JPanel main = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel child = new JPanel();
child.add(new JLabel("Label"));
main.add(child);
f.getContentPane().add(main);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
}
答案 1 :(得分:1)
我建议您使用GridPanelLayout - 您可以将元素设置为网格位置(0,0)并将其设置为填充水平和垂直,这将使其按大小缩放。然后,您可以按照外观指导来获得适当的边距等。
答案 2 :(得分:0)
在这种情况下,我会使用SpringLayout,它使您能够准确地将面板的两侧(NORTH,SOUTH,WEST,EAST)与任何其他组件的侧面放置(在您的情况下是主面板)
This tutorial会澄清我在说什么