Как добавить мульти-массив изображений в мульти-массив JLabel в Box

1

Каков наилучший способ добавления JLabel [] [] в Box?

Я JLabel[][] Image[][] и я хочу добавить каждый элемент этого массива изображений в JLabel[][]. Я могу сделать это. Но я хочу добавить JLabel[][] в Box. Я использую Box для хранения всех моих компонентов java, таких как JPanel, JButton и т.д. Но когда я пытаюсь добавить JLabel[][] в Box, это не позволяет. Можно ли использовать JPanel[][] или какой-либо другой компонент?

anyBox.add(JLabel[][]);
  • 0
    Что такое Box ?
  • 0
    О, извините, Box это Box класса Java. с javax.swing
Теги:
swing
boxlayout

1 ответ

4
Лучший ответ

Вы пытаетесь добавить массив объектов в метод, который этого не позволяет, и, попробовав это, вы нарушаете некоторые основные правила Java - главное, что вы создаете методы, которых не существует. Вместо этого вы должны использовать доступные вам методы и передавать разрешенные типы объектов. Контейнер, такой как JPanel, позволит вам добавлять в него другие компоненты, и поэтому это то, что вы должны делать. Дайте ему приличный макет, возможно, GridLayout, и используйте цикл for, чтобы добавить в него свои компоненты по одному за раз.

Обратите внимание, что если вы пытаетесь добавить сетку компонентов, то не используйте объект Box, поскольку он заставляет вас использовать BoxLayout, что не подходит для ваших нужд. Используйте JPanel с GridLayout или GridBagLayout или MigLayout или любым макетом, который более легко отображает сетку компонентов.

  • 0
    Хорошо, я попробую GridBagLayout. Мне никогда не приходилось использовать GridBagLayout, но кажется, что это было бы подходящей мерой для этого. Спасибо!
  • 0
    @Iron: Я предлагаю вам сначала, что вы не хотите использовать гораздо более простой и легкий в использовании GridLayout . GridBagLayout - один из наиболее сложных менеджеров компоновки с довольно большим количеством ловушек и "ошибок".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню