У меня есть настройка пользовательского интерфейса, где у меня есть TabLayoutPanel
, каждая вкладка соответствует панели, обернутой внутри ScrollPanel
. В основном это чат-программа, в которой пользователи могут отправлять сообщения, которые появятся в панелях; это означает, что сообщения могут отображаться в вкладках, которые в настоящее время не сфокусированы.GWT - ScrollPanel в TabLayoutPanel не работает должным образом, если не выбрано
Теперь, что я хотел сделать (упрощенное здесь), должен прокручиваться снизу всякий раз, когда приходит сообщение, в основном для того, чтобы всегда находить самое новое сообщение. Это хорошо работает на выбранной вкладке, но на вкладках нет проблем.
В основном, когда количество сообщений на вкладке становится достаточно, чтобы полоса прокрутки была необходима, она, похоже, не регистрируется до тех пор, пока не будет выбрана вкладка. Я могу позвонить getVerticalScrollPosition()
, и он вернет 0, хотя я знаю, что там больше, чем было бы; и если я переключусь на вкладку, полоса прокрутки будет располагаться вверху. Если в этот момент я снова выключусь, это сработает с этой точки, поэтому проблема заключается в том, что это происходит, когда не отображается полоса прокрутки, чтобы показать ее, которая, похоже, не регистрируется до тех пор, пока не будет выбрана вкладка.
Есть ли у кого-нибудь предложение обойти это поведение? Я пробовал просто устанавливать полосы прокрутки для отображения всегда, но это совсем не помогло.