Přeskočit na hlavní obsah

Příspěvky

Zobrazují se příspěvky z březen, 2008

A všichni si rozumíme 2 - klávesové zkratky

Psali jste někdy lokalizované aplikace ve Swingu? A jak jste řešili klávesové zkratky (Mnemonics) pro různé jazyky? Já jsem se při programování JSignPdf rozhodl použít přístup, který znám z Delphi. V resource řetězcích vložím ampersand (&) před písmeno, které má být použito jako klávesová zkratka. Když chci zobrazit znak ampersand, tak napíšu dva za sebe. A jak to funguje v kódu? Mám wrapper pro ResourceBundle, který nabízí mimo metod pro přístup k lokalizovaným stringům i metodu, která vrací MnemonicIndex (pozici znaku, který je použit jako klávesová zkratka). /** * Returns message for given key from active ResourceBundle * @param aKey name of key in resource bundle * @return message for given key */ public String get(final String aKey) { String tmpMessage = bundle.getString(aKey); if (tmpMessage == null) { tmpMessage = aKey; } else { tmpMessage = tmpMessage.replaceAll("&([^&])", "$1"); } return tmpMessage; } /** * Returns index o…