Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранить позицию JSplitPane при замене компонента, Замена правого компонента 
V
    Опции темы
_Y_
Дата 3.2.2020, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Имею javax.swing.JInternalFrame, разделённую сплиттером JSplitPane. В левой панели дерево JTree, вложенное в JScrollPane.

В зависимости от того, какой компонент дерева выбирает пользователь, в правую панель сплиттера вставляются разные формы. Для этого используется метод setRightComponent класса JSplitPane . Правый компонент всегда наследует от JPanel.


Проблема в том, вставление новой JPanel меняет положение сплиттера. Попытался читать его позицию методом getDividerLocation, вставлять панель, а потом восстанавливать позицию методом setDividerLocation. Не работает.

Подскажите как грамотно сохранять позицию сплиттера при замене компонентов в его панелях?

Это сообщение отредактировал(а) _Y_ - 3.2.2020, 22:36


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
_Y_
Дата 15.2.2020, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Решение нашёл сам, благо спешки не было. В принципе, решение изначально было правильным:
Цитата(_Y_ @  3.2.2020,  22:36 Найти цитируемый пост)
читать его позицию методом getDividerLocation, вставлять панель, а потом восстанавливать позицию методом setDividerLocation

Но метод getDividerLocation у меня стоял в неподходящем месте, в разультате запоминались несколько экзотические позиции сплиттера. Обычный баг начинающего (в моём варианте - всё забывшего) программиста.



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.1118 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.