有谁知道如何检测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'打印出一个正方形.有了这个功能似乎还不够.
我在这里错过了一些炭火吗?
这似乎是"字体"独立的方式.
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; }
我不完全确定我是否理解你的问题.但是如果你想检测是否可以将字符绘制到Graphics对象,如果没有打印一些占位符char,你可能会觉得有用:
Font.canDisplay(int)
它将检查字体是否可以显示特定的代码点(更多的是检查字体是否可显示 - 因为有可显示的字符 - 比如 - 但是某些字体无法显示它们.