com.jgoodies.common.swing
Class MnemonicUtils

java.lang.Object
  extended by com.jgoodies.common.swing.MnemonicUtils

public final class MnemonicUtils
extends Object

Configures the text, mnemonic and mnemonic index in Actions, JLabels, and AbstractButtons. The term marked text is used for Strings that contain a marker character that marks both the mnemonic and its index in the resulting plain text.

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&amp;D D&ep.</html> <html>R&amp;D D<u>e</u>p.</html> 'B' -1 HTML &amp; doesn't mark

Version:
$Revision: 1.1 $
Author:
Karsten Lentzsch

Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

configure

public 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 '&'. 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.

Parameters:
target - the button to be configured
markedText - the text with optional mnemonic marker
Throws:
NullPointerException - if target is null

configure

public 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 '&'. 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.

Parameters:
target - the Action to be configured
markedText - the text with optional mnemonic marker
Throws:
NullPointerException - if target is null

configure

public 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 '&'. 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.

Parameters:
target - the label to be configured
markedText - the text with optional mnemonic marker
Throws:
NullPointerException - if target is null

plainText

public static String plainText(String markedText)
Returns the plain text for the given marked text by removing the mnemonic marker and marker quotes - if any. If the marked text is HTML, the plain text has the mnemonic character underlined. See the 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>"
 

Parameters:
markedText - the text that may contain a mnemonic marker
Returns:
the text without mnemonic marker and marker quotes


Copyright © 2009-2012 JGoodies Karsten Lentzsch. All Rights Reserved.