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 |
Modifier and Type | Method and Description |
---|---|
static void |
configure(AbstractButton target,
String markedText)
Configures the text, mnemonic and mnemonic index for
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
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
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.
|
public static void configure(AbstractButton target, String markedText)
target
using the given text that can be marked with the mnemonic marker '&'.
For example if markedText
is "Save &as", the text
will be set to "Save as", the mnemonic is 'a', and the
mnemonic index is 5.target
- the button to be configuredmarkedText
- the text with optional mnemonic markerNullPointerException
- if target
is null
public static void configure(Action target, String markedText)
target
using the given text that can be marked with the mnemonic marker '&'.
For example if markedText
is "Save &as", the text
will be set to "Save as", the mnemonic is 'a', and the
mnemonic index is 5.target
- the Action to be configuredmarkedText
- the text with optional mnemonic markerNullPointerException
- if target
is null
public static void configure(JLabel target, String markedText)
target
using the given text that can be marked with the mnemonic marker '&'.
For example if markedText
is "Save &as", the text
will be set to "Save as", the mnemonic is 'a', and the
mnemonic index is 5.target
- the label to be configuredmarkedText
- the text with optional mnemonic markerNullPointerException
- if target
is null
public static String plainText(String markedText)
MnemonicUtils
class comment for information
about how to mark a mnemonic and how to quote a marker.
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>"
markedText
- the text that may contain a mnemonic markerCopyright © 2014 JGoodies Software GmbH. All rights reserved.