Swing может обрабатывать значительное количество компонентов только с ограничениями памяти, особенно с использованием простых компонентов (текстовое поле, метка, переключатель и т. Д.). Есть некоторые приемы, например, уменьшение размера окна и упаковка всего в JScrollPane, но обычно вам понадобятся стандартные методы, такие как тяжелая обработка в фоновом режиме.
Одной из функций, над которой работает моя компания, является диалоговое окно с повторяющимся JPanel, содержащее несколько ярлыков и кнопку. Мы протестировали его на нашем старом Mac Mini (Intel Core Solo с 512 МБ оперативной памяти), и создание 500 панелей заняло несколько секунд, но после этого прокрутка списка панелей или добавление новых панелей не замедлились вовсе.
Для серьезных проблем производительности смотрите JTable , который довольно высоко оптимизирован для отображения больших объемов данных. Это немного сложно для создания пользовательских средств визуализации и редакторов, но не невозможно.