Правильно ли работает ReadSDF? Не зная гораздо большего, возможно, что фрагменты не инициализируются должным образом, поэтому, когда вы обращаетесь к элементам, они не работают должным образом, генерируется исключение, которое перехватывается и игнорируется чем-то более высоким.
Код Кори Ларсона, похоже, должен работать для меня. Это логически то же самое.
Я заметил, что когда вы переопределяете 'paintComponent' в MolViewer, вы вызываете super.paintComponents (g) (метод Container), а не paintComponent (метод JComponent). Я не сделал достаточно с графикой в разгаре, чтобы знать, если это правильно, так что не стесняйтесь игнорировать это.
Кроме того, (очень) небольшая вещь: вы используете LinkedLists для произвольного доступа. В целом ArrayList будет лучшей реализацией, если вы используете индексный номер.