Wenn Sie bereits ein laufendes Programm haben und die Buttons dynamisch hinzufügen möchten, müssen Sie sicherstellen, dass Sie auf dem Event Dispatch Thread (EDT) arbeiten, um Probleme mit der Swing-Komponenten-Thread-Sicherheit zu vermeiden. Verwenden Sie dazu SwingUtilities.invokeLater oder EventQueue.invokeLater.