evg_: при использовании числа 254 массиы utf8bytes имеет длину 2. Не корректно для вывода использовать только первый элемент. это раз.
Ваш код будет работать только для кодовой точки от 0b00000000 до 0b01111111. При большем значении преобразование некорректно, так как кодовая точка будет "кодировать" символ ДВУМЯ байтами, а не одним. Соответственно нужно другое преобразование, например добавьте в конец метода main:
String s = new String(utf8bytes, 0, utf8bytes.length, StandardCharsets.UTF_8);
int i = s.codePointAt(0);
System.out.println("Правильное преобразование: " + Integer.toBinaryString(i));
mvsavkin: проблема возникнет если конфиг надо будет менять. Если ручками - придется лезть в архив. А во время работы приложения файлы внутри jar поменять не получится.
Антон @ Лялин: также есть функция для автоматического подгона размеров окна под размер контента в нем - frame.pack(). Не помню правда когда ее лучше использовать до setVisible или после.
Евгений: необязательно применять аннотацию Override, ошибки не будет. Это скорее аннотация(напоминание) для разработчика. А ПЕРЕГРУЖЕН метод тогда, когда добавляется метод с таким же именем, НО с другой сигнатурой.
Ваш код будет работать только для кодовой точки от 0b00000000 до 0b01111111. При большем значении преобразование некорректно, так как кодовая точка будет "кодировать" символ ДВУМЯ байтами, а не одним. Соответственно нужно другое преобразование, например добавьте в конец метода main: