如何使用 BoxLayout 让组件与 JPanel 中的顶部对齐?

2024-04-17

我正在开发一款名为 GalaxyWar 的游戏,我正在尝试制作一个地图选择菜单。我发现一个问题,当我使用 BoxLayout 时BoxLayout.Y_AXIS在 JPanel 上setAlignmentX(CENTER_ALIGNMENT),具有指定大小的子组件(JPanel)占据面板的整个高度(全部在一起),而不是指定的高度!

这是我的代码:

scrollPane = new JScrollPane();
    scrollPane.setBounds(160, 11, 452, 307);
    add(scrollPane);

    mapContainer = new JPanel();
    mapContainer.setAlignmentX(CENTER_ALIGNMENT);
    mapContainer.setAlignmentY(JPanel.TOP_ALIGNMENT);
    mapContainer.setLayout(new BoxLayout(mapContainer, BoxLayout.Y_AXIS));
    scrollPane.setViewportView(mapContainer);

    JPanel demoPanel = new JPanel();
    demoPanel.setLayout(null);
    demoPanel.setBackground(Color.YELLOW);
    demoPanel.setSize(50, 100);
    mapContainer.add(demoPanel);

我对此进行了很长时间的研究,但到目前为止还没有找到任何解决方案。


尝试查看

setPreferredSize() 
setMaximumSize()
setMinimumSize()

将所有 3 个设置为相同的值。

如果仍然不起作用,您可以尝试将您尝试将其大小设置为固定的面板放入另一个面板中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 BoxLayout 让组件与 JPanel 中的顶部对齐? 的相关文章

随机推荐