В FlowLayout
, если нет места для компонентов, некоторые из них переходят к следующей строке. Есть ли способ проверить, что макет переполнен программным путем?Как проверить переполнение FlowLayout?
0
A
ответ
0
Вы можете использовать ChangeListener
для JScrollPane
final JScrollPane jPane = new JScrollPane(yourPanel);
jPane.getViewport().addChangeListener(new ChangeListener() {
public void stateChange(ChangeEvent e) {
//if that is true, it means panel overflowed
if(jPane.getHorizontalScrollBar().isShowing()) {
}
}
})
Я думаю, вы должны думать о том, чтобы использовать другую раскладку, потому что это, как работает FlowLayout. – pzaenger
Что именно вы намерены делать, если макет переполняется? (BTW - Поместите контейнер с FlowLayout в панель прокрутки, которая не требует горизонтальной полосы прокрутки и вертикальной полосы прокрутки по мере необходимости, и об этом позаботятся автоматически.) –
У меня есть несколько кнопок на этой панели. если некоторые кнопки переходят ко второй строке, я скрою текст кнопки и покажу только значки. Поэтому мне нужно знать, есть ли кнопки на второй строке. –