java - 将多个 JPanel 添加到 JFrame

标签 java swing layout jframe

好吧,现在我有一个包含 JLayeredPane 的 JFrame。现在运行一个游戏 GUI。我想在该框架的一侧添加按钮,以便我可以通过按钮接收用户的输入。 有什么想法吗?

class mapGUI extends JFrame{
        layeredPane = new JLayeredPane();
    mapSize = new Dimension(mapColumn * 16 , mapRow * 16);

    layeredPane.setPreferredSize(mapSize);
    //Adding the layeredPane to the frame.
    getContentPane().add(layeredPane);

    //Adds the appropriate labels to the panels and adds them to the layeredPane.
    addPlayerPos();
    addDungeonItems();
    addDungeonFloor();

    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setResizable(false);
    pack();
    setLocationRelativeTo(null);
    setVisible(true);
}

这是我创建 JFrame 并向其添加 JLayeredPane 的代码部分。

最佳答案

1) 不要使用JLayeredPane ,因为最多有 6 层的限制,所以使用 JLayer (Java7)基于JXLayer (Java6)

2) 使用JLayeredPane关于 setSize/setBounds,对于可调整大小的 Container

3) 使用CardLayout而不是JLayeredPane ,

4) 或使用JTabbedPane

关于java - 将多个 JPanel 添加到 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10245982/

相关文章:

java - 寻找一种方法来可视化我的多模块 pom 项目的依赖结构

Java Swing : labels and fields apper only after resizing

java - 在 Spring Boot 应用程序的 @Transactional 方法中调用 flush()

java - 获取 Java ProgressMonitor 的取消事件

java - 单击 jmenu 时调用 actionperformed 方法

html - 全屏布局

css - 宽度:100% 无滚动条

css - 如果内联 block 元素上的高度足够,则强制换行

java - 减少 Java 8 中的 UnaryOperators 列表

java - 你如何列出网络上的所有 smb 服务器?