JPanel定位

时间:2013-10-18 15:33:52

标签: java swing jpanel positioning layout-manager

为什么我的迷你地图面板不在JFrame的右边?

我的代码似乎是正确的,但我必须犯一个愚蠢的错误。请帮帮我:))

    private static void loadResources() {
    minimap.setMaximumSize(new Dimension(minimapWidth, minimapHeight));
    minimap.setMinimumSize(new Dimension(minimapWidth, minimapHeight));
    minimap.setPreferredSize(new Dimension(minimapWidth, minimapHeight));

    panel.setMaximumSize(new Dimension(width, height));
    panel.setMinimumSize(new Dimension(width, height));
    panel.setPreferredSize(new Dimension(width, height));

    minimap.setBackground(Color.red);
    panel.setBackground(Color.GRAY);

    panel.setLayout(new FlowLayout(FlowLayout.CENTER));
    panel.add(minimap);
    minimap.setLayout(new FlowLayout(FlowLayout.RIGHT));

    Character.createCharacter();
    frame.add(panel);
}

enter image description here

1 个答案:

答案 0 :(得分:0)

您将面板布局设置为CENTER。然后添加小地图,这样小地图也会居中。

致电

minimap.setLayout(new FlowLayout(FlowLayout.RIGHT));

您只需说小地图内的所有元素(在这种情况下都不是)应该位于相对于小地图矩形的右侧。因此,如果你添加一个元素,比如说一个灰色的矩形,你可以在迷你图中看到JFrame中心的红色矩形和红色矩形内右边的灰色矩形。

您可以尝试

panel.setLayout(new FlowLayout(FlowLayout.RIGHT));

但这可能会改变其他元素的位置。