powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Увеличивать размер панели с JScrollPane внутри JFrame
4 сообщений из 4, страница 1 из 1
Увеличивать размер панели с JScrollPane внутри JFrame
    #38587320
Asmodeuas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!

У меня такой вопрос - можно ли увеличить размер панели в JScrollPane? Чтобы просто прокручивалась пустая панель?

Поясню. Есть JFrame, на ней JScrollPane с JPanel. Нужно сделать так, чтобы панель (пустая) внутри фрейма была больше самого фрейма и скроллилась внутри него. SetSize'ы для панели не помогают...
...
Рейтинг: 0 / 0
Увеличивать размер панели с JScrollPane внутри JFrame
    #38587321
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте setPreferredSize()
setSize() не работает из-за концепции LayoutManager-ов в Swing
size - это актуальный размер контрола. Он может динамически менятся, например, с изменением размера окна.
а вот такие свойства как
preferredSize
minimumSize
maximumSize
являются указаниями для LayoutManager о том как выполнить компоновку.
...
Рейтинг: 0 / 0
Увеличивать размер панели с JScrollPane внутри JFrame
    #38587341
Asmodeuas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, вроде помогает, спасибо!
...
Рейтинг: 0 / 0
Увеличивать размер панели с JScrollPane внутри JFrame
    #38587575
Asmodeuas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, а Вы не могли бы объяснить, как заставить это заработать в моем случае?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
menuItemExtend.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                panelWidth *= 2;
                panelHeight *= 2;
                mainPanel.setPreferredSize(new Dimension(panelWidth, panelHeight));
            }
        });



mainPanel - final JPanel поле класса. Если я задаю PreferredSize в конструкторе или просто в методе, то все работает, но когда пытаюсь сделать это в анонимном классе обработчика, как здесь, то панель не реагирует :(

Кстати, это же касается и, например,
Код: java
1.
mainScroll.getViewport().setViewPosition(new Point(x, y)); 


(mainScroll - fiinal JScrollPane поле класса).
В обычном методе все скроллится как надо, а в MouseMotionListener'е не работает...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Увеличивать размер панели с JScrollPane внутри JFrame
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]