Понятия не имею, зачем вы это делаете, но в любом случае ..
Ваша таблица не расположена надлежащим образом после создания, и она "сидит" на базовых координатах (0, 0).Таким образом, вы должны расположить таблицу в нужном месте.
Добавьте эту строку после styledText.setStyleRange(style);
, и она будет работать так, как вам нужно.
table.setLocation(styledText.getLocationAtOffset(styledText.getCharCount()));
И тогда нет необходимости иметь этострока, вы можете удалить его ..
table.setVisible(false); // *** prevents table from IMMEDIATELY jumping