Top
Interstage Studio J Business Kit GUI Library User's Guide
FUJITSU Software

C.1 Setting supplementary characters to not be inputable

For the JBK V5.1L10 and later GUI Library, follow the procedure below to set supplementary characters to not be inputable (like in JBKV5.0L10).

  1. Create JFInputLimitation.

  2. Use JFInputLimitation#setEnableUnicodeType(Character.UnicodeBlock... enableUnicodeType) to set all the characters except supplementary characters to be inputable.

  3. Set the characters that are not included in the inputable characters to not be inputable.

  4. Set the control character to not be inputable.

  5. Set the character input component to JFInputLimitation.

Example

Implementation example

JFFieldString field = new JFFieldString();

JFInputLimitation limit = new JFInputLimitation();

//Set all the characters except supplementary characters to be inputable
//List all the character types except surrogate code and supplementary characters 
limit.setEnableUnicodeType(
    UnicodeBlock.ALPHABETIC_PRESENTATION_FORMS,
    UnicodeBlock.ARABIC,
    UnicodeBlock.ARABIC_PRESENTATION_FORMS_A,
    UnicodeBlock.ARABIC_PRESENTATION_FORMS_B,
    UnicodeBlock.ARMENIAN,
    UnicodeBlock.ARROWS,
    UnicodeBlock.BASIC_LATIN,
    UnicodeBlock.BENGALI,
    UnicodeBlock.BLOCK_ELEMENTS,
    UnicodeBlock.BOPOMOFO,
    UnicodeBlock.BOPOMOFO_EXTENDED,
    UnicodeBlock.BOX_DRAWING,
    UnicodeBlock.BRAILLE_PATTERNS,
    UnicodeBlock.BUHID,
    UnicodeBlock.CHEROKEE,
    UnicodeBlock.CJK_COMPATIBILITY,
    UnicodeBlock.CJK_COMPATIBILITY_FORMS,
    UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS,
    UnicodeBlock.CJK_RADICALS_SUPPLEMENT,
    UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION,
    UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS,
    UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A,
    UnicodeBlock.COMBINING_DIACRITICAL_MARKS,
    UnicodeBlock.COMBINING_HALF_MARKS,
    UnicodeBlock.COMBINING_MARKS_FOR_SYMBOLS,
    UnicodeBlock.CONTROL_PICTURES,
    UnicodeBlock.CURRENCY_SYMBOLS,
    UnicodeBlock.CYRILLIC,
    UnicodeBlock.CYRILLIC_SUPPLEMENTARY,
    UnicodeBlock.DEVANAGARI,
    UnicodeBlock.DINGBATS,
    UnicodeBlock.ENCLOSED_ALPHANUMERICS,
    UnicodeBlock.ENCLOSED_CJK_LETTERS_AND_MONTHS,
    UnicodeBlock.ETHIOPIC,
    UnicodeBlock.GENERAL_PUNCTUATION,
    UnicodeBlock.GEOMETRIC_SHAPES,
    UnicodeBlock.GEORGIAN,
    UnicodeBlock.GREEK,
    UnicodeBlock.GREEK_EXTENDED,
    UnicodeBlock.GUJARATI,
    UnicodeBlock.GURMUKHI,
    UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS,
    UnicodeBlock.HANGUL_COMPATIBILITY_JAMO,
    UnicodeBlock.HANGUL_JAMO,
    UnicodeBlock.HANGUL_SYLLABLES,
    UnicodeBlock.HANUNOO,
    UnicodeBlock.HEBREW,
    UnicodeBlock.HIRAGANA,
    UnicodeBlock.IDEOGRAPHIC_DESCRIPTION_CHARACTERS,
    UnicodeBlock.IPA_EXTENSIONS,
    UnicodeBlock.KANBUN,
    UnicodeBlock.KANGXI_RADICALS,
    UnicodeBlock.KANNADA,
    UnicodeBlock.KATAKANA,
    UnicodeBlock.KATAKANA_PHONETIC_EXTENSIONS,
    UnicodeBlock.KHMER,
    UnicodeBlock.KHMER_SYMBOLS,
    UnicodeBlock.LAO,
    UnicodeBlock.LATIN_1_SUPPLEMENT,
    UnicodeBlock.LATIN_EXTENDED_A,
    UnicodeBlock.LATIN_EXTENDED_ADDITIONAL,
    UnicodeBlock.LATIN_EXTENDED_B,
    UnicodeBlock.LETTERLIKE_SYMBOLS,
    UnicodeBlock.LIMBU,
    UnicodeBlock.MALAYALAM,
    UnicodeBlock.MATHEMATICAL_OPERATORS,
    UnicodeBlock.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A,
    UnicodeBlock.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B,
    UnicodeBlock.MISCELLANEOUS_SYMBOLS,
    UnicodeBlock.MISCELLANEOUS_SYMBOLS_AND_ARROWS,
    UnicodeBlock.MISCELLANEOUS_TECHNICAL,
    UnicodeBlock.MONGOLIAN,
    UnicodeBlock.MYANMAR,
    UnicodeBlock.NUMBER_FORMS,
    UnicodeBlock.OGHAM,
    UnicodeBlock.OPTICAL_CHARACTER_RECOGNITION,
    UnicodeBlock.ORIYA,
    UnicodeBlock.PHONETIC_EXTENSIONS,
    UnicodeBlock.PRIVATE_USE_AREA,
    UnicodeBlock.RUNIC,
    UnicodeBlock.SINHALA,
    UnicodeBlock.SMALL_FORM_VARIANTS,
    UnicodeBlock.SPACING_MODIFIER_LETTERS,
    UnicodeBlock.SPECIALS,
    UnicodeBlock.SUPERSCRIPTS_AND_SUBSCRIPTS,
    UnicodeBlock.SUPPLEMENTAL_ARROWS_A,
    UnicodeBlock.SUPPLEMENTAL_ARROWS_B,
    UnicodeBlock.SUPPLEMENTAL_MATHEMATICAL_OPERATORS,
    UnicodeBlock.SYRIAC,
    UnicodeBlock.TAGALOG,
    UnicodeBlock.TAGBANWA,
    UnicodeBlock.TAI_LE,
    UnicodeBlock.TAMIL,
    UnicodeBlock.TELUGU,
    UnicodeBlock.THAANA,
    UnicodeBlock.THAI,
    UnicodeBlock.TIBETAN,
    UnicodeBlock.UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS,
    UnicodeBlock.VARIATION_SELECTORS,
    UnicodeBlock.YI_RADICALS,
    UnicodeBlock.YI_SYLLABLES,
    UnicodeBlock.YIJING_HEXAGRAM_SYMBOLS
);

//UnicodeBlock.HIGH_PRIVATE_USE_SURROGATES,
//UnicodeBlock.HIGH_SURROGATES,
//UnicodeBlock.LOW_SURROGATES,

//UnicodeBlock.AEGEAN_NUMBERS,
//UnicodeBlock.BYZANTINE_MUSICAL_SYMBOLS,
//UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
//UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
//UnicodeBlock.CYPRIOT_SYLLABARY,
//UnicodeBlock.DESERET,
//UnicodeBlock.GOTHIC,
//UnicodeBlock.LINEAR_B_IDEOGRAMS,
//UnicodeBlock.LINEAR_B_SYLLABARY,
//UnicodeBlock.MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
//UnicodeBlock.MUSICAL_SYMBOLS,
//UnicodeBlock.OLD_ITALIC,
//UnicodeBlock.OSMANYA,
//UnicodeBlock.SHAVIAN,
//UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_A,
//UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_B,
//UnicodeBlock.TAGS,
//UnicodeBlock.TAI_XUAN_JING_SYMBOLS,
//UnicodeBlock.UGARITIC,    
//UnicodeBlock.VARIATION_SELECTORS_SUPPLEMENT,


//Set the characters that are not included in the inputable characters to not be inputable.
//(The following character types included in the Unicode code value from 0x0 to 0xff)
//java.lang.Character.OTHER_SYMBOL
//java.lang.Character.FORMAT
//java.lang.Character.DIRECTIONALITY_SEGMENT_SEPARATOR
char[] disableChars = {'\u00a6','\u00a7','\u00a9','\u00ad','\u00ae',
                       '\u00b0','\u00b2','\u00b3','\u00b6','\u00b9',
                        '\u00bc','\u00bd','\u00be'};

limit.setDisableChars(disableChars);

//Set the control character to not be inputable
for(char i=0x0000; i<=0x001f; i++){
  limit.addDisableChar(i);
}
for(char i=0x007F; i<=0x009F; i++){
  limit.addDisableChar(i);
}
//Set JFInputLimitation
field.setInputLimitation(limit);