Переместите -
в конец:
String filter = "a-zA-Z0-9äöüÄÖÜß.-";
Тире указывает диапазон символов, а точка не является допустимым концом диапазона.Вы также не хотите определять диапазон там.Перемещение до конца решает проблему.
Кстати.если вы хотите удалить все символы, которые не соответствуют вашему фильтру, вам нужно изменить замену:
inputtext = inputtext.replaceAll("[^" + filter + "]", "");
так, как вы это делаете, он заменит только если все символы не входят в этот класс.