Frage

Hat jemand weiß, wie druckbare Zeichen in Java zu erkennen?

Nach einer Weile (Versuch / Fehler) I diese Methode erhalten:

    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;
    }

Ich erhalte die Eingabe über KeyListener und kommen Ctr-'key‘ein Quadrat gedruckt. Mit dieser Funktion scheint ziemlich genug.

Bin ich einige Zeichen fehlt hier?

War es hilfreich?

Lösung

Es scheint dies die „Schrift“ unabhängige Art und Weise ist.

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;
}

Andere Tipps

Ich bin mir nicht ganz sicher, ob ich das Problem verstehen. Aber wenn Sie wollen feststellen, ob Zeichen Graphics-Objekt gezeichnet werden kann, und wenn nicht einige Platzhalter drucken char finden Sie vielleicht nützlich:

Font.canDisplay(int)

Es wird prüfen, ob Schrift spezifischen Codepunkt angezeigt werden kann (es ist mehr die prüfen, ob Schrift überhaupt angezeigt werden kann - da gibt es Zeichen, die angezeigt werden kann - wie ein -. Aber einige Schriftarten kippen sie angezeigt wird

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top