java - 如何将图像多数组添加到 JLabel 多数组到 Box

标签 java swing boxlayout

将 JLabel[][] 添加到 Box 的最佳方法是什么?

我正在制作一个 Image[][],我想将此图像数组的每个元素添加到 JLabel[][]。我可以做这个。但我想将 JLabel[][] 添加到 Box。我使用 Box 来保存我所有的 java 组件,例如 JPanelJButton 等。但是当我尝试将 JLabel[][] 添加到盒子,它不允许。使用 JPanel[][] 或其他组件是否安全?

anyBox.add(JLabel[][]);

最佳答案

您正在尝试将对象数组添加到不允许这样做的方法中,并且通过尝试这样做,您将违反一些基本的 Java 规则——主要的规则是您正在编写不允许这样做的方法不存在。相反,您必须使用可用的方法并传入允许的对象类型。诸如 JPanel 之类的容器将允许您向其中添加其他组件,因此这就是您应该做的。给它一个合适的布局,也许是一个 GridLayout,然后使用 for 循环将您的组件添加到其中,一次一个。

请注意,如果您尝试添加组件网格,则不要使用 Box 对象,因为它会强制您使用不适合您需要的 BoxLayout。将 JPanel 与 GridLayout 或 GridBagLayout 或 MigLayout 或任何更容易显示组件网格的布局一起使用。

关于java - 如何将图像多数组添加到 JLabel 多数组到 Box,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775630/

相关文章:

java - 为什么需要用 BoxLayout 调用 setLayout?

Java - 具有 LinkedHashMap 属性的集合

java - 使用 MEL 在 Java 负载上调用方法

java - 从android中的url加载图像

java - 从文件中读取按钮名称

Java BoxLayout 使用全宽

java - 如何为 BoxLayout 创建垂直 javax.swing.ComponentOrientation?

java - 错误: SLF4J: Class path contains multiple SLF4J bindings

表中的 Java 表可自动调整大小

java - 有没有办法覆盖 native 加速键?