com.jgoodies.common.swing
public final class MnemonicUtils extends Object
To set a mnemonic, add an ampersand ('&') before the character that should be the mnemonic, for example "&Save". If your text has multiple ampersands, only the first one is used to mark the mnemonic; the other ampersands appear as normal text. For example "&Look&Feel" has the first 'L' has mnemonic. If you want to use the ampersand itself in the text, use two consecutive ampersands for any ampersand that precede the one that is used to mark the mnemonic. For example the marked text "R&&D D&epartment" has "R&D Department" as text and the mnemonic is 'E'.
Examples:
Marked Text | Plain Text | Mnemonic | Mnemonic Index | Comment |
Save | Save | 0 | -1 | No mnemonic |
&Save | Save | 'S' | 0 | |
Save &as | Save as | 'A' | 5 | Second 'a' marked |
Look&Feel | LookFeel | 'F' | 4 | & should be quoted |
Look&&Feel | Look&Feel | 0 | -1 | & is quoted |
&Look&Feel | Look&Feel | L | 0 | Second & needs no quote |
Look & Feel | Look & Feel | 0 | -1 | Whitespace cannot be marked |
R&&D D&epartment | R&D Department | 'E' | 5 | First & is quoted |
<html>a&b</html> | <html>a<u>b</u></html> | 'B' | -1 | 'b' is underlined |
<html>R&D D&ep.</html> | <html>R&D D<u>e</u>p.</html> | 'B' | -1 | HTML & doesn't mark |
Version: $Revision: 1.9 $
Method Summary | |
---|---|
static void | configure(AbstractButton target, String markedText)
Configures the text, mnemonic and mnemonic index for {@code target}
using the given text that can be marked with the mnemonic marker '&'.
|
static void | configure(Action target, String markedText)
Configures the text, mnemonic and mnemonic index for {@code target}
using the given text that can be marked with the mnemonic marker '&'.
|
static void | configure(JLabel target, String markedText)
Configures the text, mnemonic and mnemonic index for {@code target}
using the given text that can be marked with the mnemonic marker '&'.
|
static String | plainText(String markedText)
Returns the plain text for the given marked text by removing
the mnemonic marker and marker quotes - if any. |
Parameters: target the button to be configured markedText the text with optional mnemonic marker
Throws: NullPointerException if {@code target} is {@code null}
Parameters: target the Action to be configured markedText the text with optional mnemonic marker
Throws: NullPointerException if {@code target} is {@code null}
Parameters: target the label to be configured markedText the text with optional mnemonic marker
Throws: NullPointerException if {@code target} is {@code null}
MnemonicUtils.plainText("Save") == "Save" MnemonicUtils.plainText("&Save") == "Save" MnemonicUtils.plainText("&Look&Feel") == "Look&Feel" MnemonicUtils.plainText("Look & Feel") == "Look & Feel" MnemonicUtils.plainText("R&&D D&epartment") == "R&D Department" MnemonicUtils.plainText("<html>a&b</html>") == "<html>a<u>b</u></html>"
Parameters: markedText the text that may contain a mnemonic marker
Returns: the text without mnemonic marker and marker quotes