Для печати char в java
Кто-нибудь знает, как обнаружить печатные символы в java?
Через некоторое время (пробная версия/ошибка) я получаю этот метод:
public boolean isPrintableChar( char c ) {
Character.UnicodeBlock block = Character.UnicodeBlock.of( c );
return (!Character.isISOControl(c)) &&
c != KeyEvent.CHAR_UNDEFINED &&
block != null &&
block != Character.UnicodeBlock.SPECIALS;
}
Я получаю вход через KeyListener и присылаю Ctr-'key 'напечатал квадрат. С этой функцией кажется достаточно достаточно.
Я пропустил здесь char?
Спасибо заранее.
Ответы
Ответ 1
Кажется, это был независимый способ "Шрифт".
public boolean isPrintableChar( char c ) {
Character.UnicodeBlock block = Character.UnicodeBlock.of( c );
return (!Character.isISOControl(c)) &&
c != KeyEvent.CHAR_UNDEFINED &&
block != null &&
block != Character.UnicodeBlock.SPECIALS;
}
Ответ 2
Я не совсем уверен, понимаю ли я вашу проблему. Но если вы хотите определить, может ли символ быть привлечен к объекту Graphics, и если не печатать какой-либо заполнитель char, вы можете найти полезный файл:
Font.canDisplay(int)
Он будет проверять, может ли шрифт отображать конкретный код (это больше, если проверить, является ли шрифт вообще отображаемым), поскольку есть отображаемые символы - например ±, но некоторые шрифты не могут отображать их.