0

为什么我的小地图面板不在 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);
}

在此处输入图像描述

4

1 回答 1

0

您将面板布局设置为 CENTER。然后你添加小地图,所以小地图也居中。

通过调用

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

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

你可以试试

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

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

于 2013-10-18T19:38:55.670 回答