Каков наилучший способ добавления JLabel [] [] в Box?
Я JLabel[][]
Image[][]
и я хочу добавить каждый элемент этого массива изображений в JLabel[][]
. Я могу сделать это. Но я хочу добавить JLabel[][]
в Box. Я использую Box для хранения всех моих компонентов java, таких как JPanel
, JButton
и т.д. Но когда я пытаюсь добавить JLabel[][]
в Box, это не позволяет. Можно ли использовать JPanel[][]
или какой-либо другой компонент?
anyBox.add(JLabel[][]);
Вы пытаетесь добавить массив объектов в метод, который этого не позволяет, и, попробовав это, вы нарушаете некоторые основные правила Java - главное, что вы создаете методы, которых не существует. Вместо этого вы должны использовать доступные вам методы и передавать разрешенные типы объектов. Контейнер, такой как JPanel, позволит вам добавлять в него другие компоненты, и поэтому это то, что вы должны делать. Дайте ему приличный макет, возможно, GridLayout, и используйте цикл for, чтобы добавить в него свои компоненты по одному за раз.
Обратите внимание, что если вы пытаетесь добавить сетку компонентов, то не используйте объект Box, поскольку он заставляет вас использовать BoxLayout, что не подходит для ваших нужд. Используйте JPanel с GridLayout или GridBagLayout или MigLayout или любым макетом, который более легко отображает сетку компонентов.
GridLayout
. GridBagLayout
- один из наиболее сложных менеджеров компоновки с довольно большим количеством ловушек и "ошибок".
Box
?