Проблемы с компоновкой Java

Я борюсь с макетами в моем приложении. Я совершенно новичок в Java. Я разработал приложение, которое я разработал некоторое время назад в VB. Пытаясь выучить Java, я разработал то же приложение с абсолютными макетами (по материалам учебника YouTube) и панелями с вкладками. Мне не понравилось то, что я разработал, поэтому я начал все сначала. На этот раз с помощью менеджеров макетов и макета карты в качестве основного макета. Я изо всех сил пытаюсь получить вещи, как я хочу. Я провел много дней проб и ошибок, получая свои панели так, как я хочу. У меня есть основной класс с 4 разными картами. Я попытался использовать Eclipse и Window Builder, чтобы попытаться спроектировать свои панели, но это было грандиозным провалом. Я вернулся к разработке своих макетов без дизайна в Eclipse и в основном остановился на макете границ в качестве основы для всех карт. Прямо сейчас у меня проблемы с одной панелью. Первая панель - это моя первоначальная попытка получить то, что я хочу, с абсолютным макетом Второе изображение - моя последняя попытка использовать макет границы с одной кнопкой (Назад) на Юге, некоторые текстовые поля в Центре и мой основной дисплей на Севере. СЕВЕРНЫЙ дисплей недостаточно широк. Вот кодовый код для моей СЕВЕРНОЙ панели:

setLayout(new BorderLayout(0, 0));

        JPanel panelNorth = new JPanel();
        add(panelNorth, BorderLayout.NORTH);

        JScrollPane scrollPane = new JScrollPane();
        panelNorth.add(scrollPane);

        tableDisplayScores = new JTable();
        scrollPane.setViewportView(tableDisplayScores);

        JPanel panelCenter = new JPanel();
        add(panelCenter, BorderLayout.CENTER);

Прежде чем я полностью сойду с ума, как я могу увеличить ширину моей СЕВЕРНОЙ панели, не переходя в абсолют? Или я в этом совершенно не прав?

Пример абсолютного макета:

введите описание изображения здесь

Пример менеджера верстки: описание здесь

1 ответ

Решение

Как говорится в моем комментарии, я понял это методом проб и ошибок. Я удалил панель North и добавил свою полосу прокрутки в BorderLayout.NORTH:

        JScrollPane scrollPane = new JScrollPane();
        add(scrollPane, BorderLayout.NORTH);

        tableDisplayScores = new JTable();
        scrollPane.setViewportView(tableDisplayScores);
Другие вопросы по тегам