Для сильной связи симуляция javax.swing.Timer
является хорошим выбором. Пусть слушатель таймера вызывает вашу реализацию paintComponent()
, как показано здесь здесь , и в примере, приведенном здесь здесь .
Для слабосвязанного моделирования let модель эволюционирует в фоновом потоке SwingWorker
, как показано здесь здесь . Вызовите publish()
по сравнению с вашим симуляцией.
Выбор продиктован, в частности, характером моделирования и рабочего цикла модели.